Назад | Перейти на главную страницу

centos - как найти имя файла со всеми возможными расширениями?

Мне нужно выполнить поиск «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)'

должен работать и для скрытых файлов.