Em um servidor Linux, preciso encontrar todos os arquivos com uma certa extensão no diretório atual e em todos os subdiretórios.
Anteriormente, eu sempre usei o seguinte comando:
find . -type f | grep -i *.php
No entanto , ele não encontra arquivos ocultos, por exemplo .myhiddenphpfile.php . A seguir, encontra os arquivos php ocultos, mas não os não ocultos:
find . -type f | grep -i \.*.php
Como posso encontrar os arquivos php ocultos e não ocultos no mesmo comando?
Respostas:
...
fonte
É melhor usar iname (não faz distinção entre maiúsculas e minúsculas).
Eu uso este comando find para procurar arquivos ocultos:
Extraído de: http://www.sysadmit.com/2016/03/linux-ver-archivos-ocultos.html
fonte
A questão é grep, não a descoberta (tente apenas
find . -type f
entender o que quero dizer).Se você não citar o
*
, o shell o expandirá - antes que o grep veja seus argumentos de linha de comando; como o shell não encontra arquivos ocultos por padrão, você terá problemas.O motivo de encontrar apenas o arquivo oculto é porque o shell já expandiu o
*
e, portanto, o grep corresponde apenas a esse arquivo.fonte