Мне нужно выполнить поиск «foo» и вернуть все имена файлов / каталоги с этим именем (например, foo.php
, foo.txt
и т.д). Он должен пройти через всю файловую систему и найти даже скрытые файлы. я пробовал find / -name 'foo'
но, похоже, не работает.
find
с -name
оператор использует подстановочные знаки в стиле оболочки, поэтому
find / -name 'foo.*' -o -name '.foo.*'
найдет foo.php foo.txt или скрытые файлы, такие как .foo.php и т. д. -o
означает «Или», без него файл должен иметь оба имени. Использовать -iname
если вы хотите сопоставление без учета регистра.
использовать -regex опция, которая применяется к полному пути каждого протестированного файла / каталога / сокета и т. д.
find / -regex '.*foo\.(php|txt|iso)'
должен работать и для скрытых файлов.