Como visualizar arquivos ocultos usando o comando `find` do Linux

19

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?

Tom
fonte
1
Você sabe que o "re" em "grep" significa "expressão regular", certo? Eu não tenho idéia como qualquer uma dessas linhas de comando devem funcionar ...
Ignacio Vazquez-Abrams

Respostas:

25

...

find . -type f -name '*.php'
Ignacio Vazquez-Abrams
fonte
0

A questão é grep, não a descoberta (tente apenas find . -type fentender 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.

Rasputnik
fonte