logo

Comment rechercher de manière récursive tous les fichiers des dossiers actuels et des sous-dossiers en fonction de la correspondance des caractères génériques sous Linux

Parcourir une arborescence de répertoires pour localiser des fichiers est une opération courante effectuée par la plupart des logiciels de gestion de système de fichiers. Cet utilitaire se présente sous la forme de commandes de ligne de commande dans la plupart des systèmes d'exploitation. Dans cet article, vous apprendrez comment rechercher des fichiers à l'aide de la correspondance de caractères génériques dans le système d'exploitation Linux.

Recherche récursive de fichiers dans une arborescence de répertoires

L'utilisation du trouver la commande serait fait pour accomplir la tâche. La commande « s » est utilisée pour rechercher des fichiers dans une hiérarchie de répertoires. La page d'aide de la commande find est la suivante :



La commande find et le commutateur -name rechercheront le fichier souhaité dans le répertoire. Le commutateur fournit un nom (ou un modèle) pour la commande find à rechercher. Par conséquent, la commande finale serait

find -name 'Re_Pattern'>

Tout fichier avec le Re_Pattern dans son nom de fichier serait affiché en conséquence. Le modèle peut contenir des caractères littéraux ou une séquence d'expressions génériques. Les deux caractères génériques utilisés dans de tels modèles sont :

chaîne.format en java

* => N'importe quel personnage un certain nombre de fois (peut même ne pas être présent)



? => Un personnage doit être présent

Le répertoire dans lequel les opérations seraient effectuées est :

Un répertoire contenant quelques fichiers et sous-répertoires



Par souci de simplicité, les sous-répertoires sont vides. Par conséquent, tout effet produit ne serait visible que sur le fichier de ce répertoire. Le fichier qui serait recherché dans le répertoire serait apple dont la commande serait :

find -name 'apple'>

Étant donné qu'un seul fichier du répertoire portait le nom Apple, un seul nom était affiché dans la sortie. Mais si vous incluez un caractère générique, tel que * (astérisque) :

find -name '*apple*'>

nous nous sommes retrouvés avec le résultat de tous les fichiers contenant apple dans son nom. De même, une combinaison de ces caractères génériques pourrait être utilisée. Ex. Si nous voulons obtenir tous les fichiers qui ont 4 caractères dans leur nom, la commande serait :

find -name '????'>

Par conséquent, en utilisant ces deux caractères génériques, un ensemble de modèles pourrait être créé pour reconnaître plusieurs noms de fichiers. La commande find contient d'autres commutateurs qui permettent une meilleure rationalisation de la sortie.

lion comparé à un tigre