Passez un *
caractère générique pour indiquer une correspondance pour n'importe quoi . Vous devez également échapper le *
s, par exemple :
find . -path \*content/docs/file.xml
ou placez le modèle entre guillemets, par exemple :
find . -path "*content/docs/file.xml"
Comme le décrit la page de manuel :
$ trouver . -name *.c -print
find :les chemins doivent précéder l'expression
Cela se produit parce que *.c a été développé par le shell, ce qui fait qu'infind reçoit en fait une ligne de commande comme celle-ci :
trouver . -name bigram.c code.c frcode.c locate.c -print
Cette commande ne fonctionnera bien sûr pas. Au lieu de faire les choses de cette façon, vous devriez placer le modèle entre guillemets ou échapper le caractère générique :
$ trouver . -name \*.c -print
find a un -path
(ou l'équivalent mais moins portable -wholename
) option aussi find $top_dir -wholename *string*
find /usr -path *in/abiw*
>/usr/bin/abiword
find . -type f | grep "content/docs/file.xml"
ou simplement
locate content/docs/file.xml