Recherche de site Web

Comment utiliser la commande « find » pour rechercher plusieurs noms de fichiers (extensions) sous Linux


Plusieurs fois, nous sommes enfermés dans une situation où nous devons rechercher plusieurs fichiers avec des extensions différentes, cela est probablement arrivé à plusieurs utilisateurs de Linux, notamment depuis le terminal.

Il existe plusieurs utilitaires Linux que nous pouvons utiliser pour localiser ou trouver des fichiers sur le système de fichiers, mais trouver plusieurs noms de fichiers ou des fichiers avec des extensions différentes peut parfois s'avérer délicat et nécessite des commandes spécifiques.

L'un des nombreux utilitaires permettant de localiser des fichiers sur un système de fichiers Linux est l'utilitaire find et dans ce guide pratique, nous passerons en revue quelques exemples d'utilisation de find pour aidez-nous à localiser plusieurs noms de fichiers à la fois.

Avant de plonger dans les commandes réelles, regardons une brève introduction à l'utilitaire Linux find.

La syntaxe la plus simple et générale de l'utilitaire find est la suivante :

find directory options [ expression ]

Passons à quelques exemples de commande find sous Linux.

1. En supposant que vous souhaitiez rechercher tous les fichiers du répertoire actuel portant les extensions de fichier .sh et .txt, vous pouvez le faire en exécutant la commande ci-dessous :

find . -type f \( -name "*.sh" -o -name "*.txt" \)

Interprétation de la commande ci-dessus :

  1. . signifie le répertoire courant
  2. L'option -type est utilisée pour spécifier le type de fichier et ici, nous recherchons des fichiers normaux représentés par f
  3. L'option -name est utilisée pour spécifier un modèle de recherche dans ce cas, les extensions de fichier
  4. -o signifie « OU »

Il est recommandé de placer les extensions de fichier entre crochets et d'utiliser également le caractère d'échappement \ ( barre oblique inverse) comme dans la commande.

2. Pour trouver trois noms de fichiers avec les extensions .sh, .txt et .c, exécutez la commande ci-dessous :

find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)

3. Voici un autre exemple où nous recherchons des fichiers avec .png, .jpg, .deb et < extensions.pdf :

find /home/aaronkilik/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)

Lorsque vous observez d'un œil critique toutes les commandes ci-dessus, la petite astuce consiste à utiliser l'option -o dans la commande find, elle vous permet d'ajouter plus de noms de fichiers au tableau de recherche, et connaître également les noms de fichiers ou les extensions de fichiers que vous recherchez.

Conclusion

Dans ce guide, nous avons couvert une astuce simple mais utile utilitaire de recherche pour nous permettre de trouver plusieurs noms de fichiers en émettant une seule commande. Pour comprendre et utiliser find pour de nombreuses autres opérations de ligne de commande vitales, vous pouvez lire notre article ci-dessous.

Ne manquez pas : Maîtrisez la commande Linux « find » avec ces 35 exemples