Как просмотреть скрытые файлы с помощью команды Linux `find`


19

На сервере Linux мне нужно найти все файлы с определенным расширением в текущем каталоге и всех подкаталогах.

Ранее я всегда использовал следующую команду:

find . -type f | grep -i *.php

Однако он не находит скрытые файлы, например .myhiddenphpfile.php . Следующее находит скрытые файлы php, но не скрытые:

find . -type f | grep -i \.*.php

Как найти скрытые и не скрытые файлы php в одной команде?


1
Вы знаете, что «re» в «grep» означает «регулярное выражение», верно? Я понятия не имею, как должна работать любая из этих командных строк ...
Игнасио Васкес-Абрамс

Ответы:




0

Проблема в grep, а не в поиске (попробуйте просто find . -type fпосмотреть, что я имею в виду).

Если вы не заключите в кавычки, *то оболочка расширит его - до того, как grep увидит аргументы командной строки; поскольку оболочка не находит скрытые файлы по умолчанию, у вас будут проблемы.

Причина, по которой он находит только скрытый файл, заключается в том, что оболочка уже развернула файл, *и поэтому grep сопоставляет только этот файл.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.