Dossier de recherche Linux dans les sous-dossiers


19

J'essaie de trouver un répertoire nommé 480debugerrorimbriqué sous les répertoires enfants. Je ne connais pas le chemin exact, ou même si j'ai l'orthographe exacte du répertoire que je veux trouver.

Existe-t-il une commande Linux pour rechercher des répertoires avec un préfixe ou un suffixe donné, par exemple des répertoires avec un nom "debug" ou "debug error", avec un préfixe ou un suffixe inconnu?


2
Vous pouvez essayer locate(recherche des fichiers) ou find(recherche des fichiers).
miku

find -type f -name * ummy ... but not get

3
Vous avez besoin de -type d . frecherche des fichiers
thkala

Réponses:


16

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.



1
locate -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 je fais donc des recherches comme:

locate -i "debug" | grep -i "log"

qui trouve tous les fichiers qui ont sur leur chemin (quel que soit le cas [c'est ce que -i signifie]) "debug" et "log" (au cas où vous ne le savez pas, les | grepmoyens recherchent dans les résultats que la localisation produit)

L'avantage d'utiliser la localisation par rapport à la recherche est que la localisation produira une 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 que vous pouvez utiliser sudo updatedb)


Seulement si vous avez slocateinstallé. Certains environnements de production ne le font pas :-(
Zsolt Botykai

C'est vrai, mais si une option, je dirais que c'est

1

En bash,

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

recherche récursivement les répertoires dont le nom contient 480, débogage ou erreur.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.