web-dev-qa-db-fra.com

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

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?

20
Tom

...

find . -type f -name '*.php'

Il est préférable d'utiliser iname (insensible à la casse).

J'utilise cette commande find pour rechercher des fichiers cachés:

find /path -type f -iname ".*" -ls

Extrait de: http://www.sysadmit.com/2016/03/linux-ver-archivos-ocultos.html

2
NewMailpeter

Le problème est grep, pas la recherche (essayez simplement find . -type f pour voir ce que je veux dire).

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

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

0
Rasputnik