Comment afficher les fichiers cachés à l'aide de la commande Linux `find`

19

Sur un serveur Linux, je dois trouver tous les fichiers avec une certaine extension de fichier dans le répertoire courant et tous les sous-répertoires.

Auparavant, j'utilisais toujours la commande suivante:

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

Cependant , il ne trouve pas les fichiers cachés, par exemple .myhiddenphpfile.php . Ce qui suit trouve les fichiers php cachés, mais pas ceux non cachés:

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

Comment puis-je trouver les fichiers php cachés et non cachés dans la même commande?

À M
la source
1
Vous savez que le "re" dans "grep" signifie "l'expression régulière", non? Je n'ai aucune idée de la façon dont ces lignes de commande sont censées fonctionner ...
Ignacio Vazquez-Abrams

Réponses:

25

...

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

Le problème est grep, pas la trouvaille (essayez juste find . -type fde voir ce que je veux dire).

Si vous ne citez pas le, *le shell le développera - avant même que grep ne voie ses arguments en ligne de commande; puisque le shell ne trouve pas les fichiers cachés par défaut, vous aurez des problèmes.

La raison pour laquelle il ne trouve que le fichier caché est que le shell a déjà développé le *fichier et donc grep ne correspond qu'à ce fichier.

Rasputnik
la source