Jai exécuté cette commande:
find /home/ ~ -type f -size 5 "*." -a -30
mais il a dit find: paths must precede expression
. Jai du mal à obtenir find
de rechercher des correspondances dans le répertoire courant ainsi que dans ses sous-répertoires. Que signifie cette erreur et comment puis-je obtenir les correspondances du répertoire actuel et de ses sous-répertoires?
Réponse
Comme vous semblez comprendre, vous pouvez spécifier plusieurs points de départ pour find
; Par exemple,
find dir1 dir2 dir3 -type f … (other arguments) …
Mais vos "*."
et -30
ne sont pas des termes de recherche / action valides, donc find
pense que vous « fournissez plus de points de départ après -type f
. Peut-être voulez-vous dire -name "*."
et -mtime -30
?
PS -name "*."
correspondrait à tous les noms se terminant par un point ( .
), cest-à-dire point ou point complet. Bien que valide, ce serait un schéma assez inhabituel. est-ce vraiment ce que vous voulez dire?
PPS Si votre répertoire personnel (représenté par ~
) est sous /home
, alors votre commande est redondante, car elle recherchera deux fois votre répertoire personnel.