23 votes

Linux trouver le dossier à l'intérieur des sous-dossiers

Je suis en train de chercher un répertoire nommé 480debugerror niché sous des répertoires enfants. Je ne connais pas le chemin exact, ni même si j'ai l'orthographe exacte du répertoire que je veux trouver.

Y a-t-il une commande Linux pour trouver des répertoires avec un préfixe ou un suffixe donné, par exemple des répertoires portant le nom de "debug" ou "debug erreur", avec un préfixe ou un suffixe inconnu ?

20voto

thkala Points 1979

find est ce dont vous avez besoin:

$ find -type d -name '*debugerror*'

ou

$ find -type d -name '480debugerror'

si vous êtes certain du nom du dossier.

8voto

Zsolt Botykai Points 677
trouver . -type d \( -iname '*erreur*' -o -iname '*debug*' \)

2voto

user2394284 Points 1271

En bash,

shopt -s nullglob globstar
echo **/*480*/
echo **/*debug*/
echo **/*error*

recherche de manière récursive des répertoires contenant 480, debug ou erreur dans leur nom.

1voto

jcuenod Points 179
localiser -i "480debugerror"

vérifiera une base de données qui répertorie tous les fichiers indexés sur votre PC. J'ai souvent des scénarios comme celui-ci, et donc je fais des recherches comme :

localiser -i "debug" | grep -i "log"

qui trouvera tous les fichiers qui ont dans leur chemin (peu importe la casse [c'est ce que signifie -i]) "debug" et "log" (au cas où vous ne le sauriez pas, le | grep signifie recherche dans les résultats produits par localiser)

L'avantage d'utiliser locate par rapport à find est que locate produira la sortie beaucoup plus rapidement (car il ne fait que vérifier une base de données), mais si le fichier/dossier n'est pas indexé, il ne trouvera rien. (pour mettre à jour la base de données, vous pouvez utiliser sudo updatedb)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X