O motivo pelo qual não funciona é porque o find não possui a opção -r
. Embora seja verdade que, para muitos programas, o sinal -r
significa 'recursivo', não é esse o caso de todos e não é o caso de find
. O trabalho de find
é procurar por arquivos e diretórios, não é muito frequente que você não queira que seja recursivo.
Você pode verificar as opções da maioria dos programas com o comando man
. Por exemplo, man find
. Como o manual de busca é enorme, você pode querer procurá-lo pela opção -r
:
$ man find | grep -w -- -r
O - apenas diz ao grep para parar as opções de leitura, sem ele, o -r seria passado como uma opção para o grep. Além disso, você pode pesquisar na página do manual pressionando /
, em seguida, escrevendo o que deseja pesquisar e, em seguida, digite.
Esse comando não retorna nada, compare com este que procura o manual de cp
:
$ man cp | grep -w -- -r
-R, -r, --recursive
Como find
é sempre recursivo, o que ele tem é o inverso, um sinalizador que permite escolher em quantos subdiretórios ele deve ficar:
-maxdepth levels
Descend at most levels (a non-negative integer) levels of direc‐
tories below the command line arguments. -maxdepth 0
means only apply the tests and actions to the command line
arguments.
-mindepth levels
Do not apply any tests or actions at levels less than levels (a
non-negative integer). -mindepth 1 means process all files
except the command line arguments.
Portanto, sempre que tiver dúvidas sobre um comando, leia sua man
page porque você nunca sabe o que uma determinada opção pode fazer. Por exemplo:
$ man sort | grep -w -- -r
-r, --reverse
$ man mount | grep -w -- -r,
-r, --read-only
$ man awk | grep -A 8 -w -- -r
-r
--re-interval
Enable the use of interval expressions in regular expression
matching (see Regular Expressions, below). Interval expressions
were not traditionally available in the AWK language. The POSIX
standard added them, to make awk and egrep consistent with each
other. They are enabled by default, but this option remains for
use with --traditional.
$ man sed | grep -w -- -r
-r, --regexp-extended
$ man xterm | grep -w -- -r
-r This option indicates that reverse video should be simulated by
swapping the foreground and background colors.
Você tem a ideia.