На сервере Linux мне нужно найти все файлы с определенным расширением в текущем каталоге и всех подкаталогах.
Ранее я всегда использовал следующую команду:
find . -type f | grep -i *.php
Однако он не находит скрытые файлы, например .myhiddenphpfile.php . Следующее находит скрытые файлы php, но не скрытые:
find . -type f | grep -i \.*.php
Как найти скрытые и не скрытые файлы php в одной команде?
Ответы:
...
источник
Лучше использовать iname (без учета регистра).
Я использую эту команду поиска для поиска скрытых файлов:
Извлечено из: http://www.sysadmit.com/2016/03/linux-ver-archivos-ocultos.html
источник
Проблема в grep, а не в поиске (попробуйте просто
find . -type f
посмотреть, что я имею в виду).Если вы не заключите в кавычки,
*
то оболочка расширит его - до того, как grep увидит аргументы командной строки; поскольку оболочка не находит скрытые файлы по умолчанию, у вас будут проблемы.Причина, по которой он находит только скрытый файл, заключается в том, что оболочка уже развернула файл,
*
и поэтому grep сопоставляет только этот файл.источник