Předejte *
zástupný znak pro označení shody pro cokoli . Je také nutné kódovat *
s, např.:
find . -path \*content/docs/file.xml
nebo uzavřete vzor do uvozovek, např.:
find . -path "*content/docs/file.xml"
Jak to popisuje manuálová stránka:
$ najít. -name *.c -print
find:cesty musí předcházet výraz
To se děje, protože *.c byl rozšířen shellem a výsledkem je, že infind ve skutečnosti přijímá příkazový řádek takto:
najít . -name bigram.c code.c frcode.c locate.c -print
Ten příkaz samozřejmě nebude fungovat. Namísto toho, abyste dělali věci tímto způsobem, měli byste uzavřít vzor do uvozovek nebo uniknout zástupnému znaku:
$ najít. -name \*.c -print
find má -path
(nebo ekvivalentní, ale méně přenosné -wholename
) možnost find $top_dir -wholename *string*
find /usr -path *in/abiw*
>/usr/bin/abiword
find . -type f | grep "content/docs/file.xml"
nebo jen
locate content/docs/file.xml