Les utilisateurs peuvent rencontrer une situation où ils aimeraient trouver tous les fichiers dans une structure de répertoires, de dossiers ou de sous-dossiers, qui correspondent à une chaîne particulière mais avec des variations dans les noms de fichiers, une situation parfaite pour rechercher des fichiers basés sur des correspondances génériques.
Par exemple, vous souhaitez peut-être localiser tous les fichiers sur un système de fichiers contenant le mot”facture”quel que soit l’endroit où le texte de”facture”apparaît dans le nom de fichier (par exemple, les fichiers nommés comme suit ; facture1-2023.pdf, grande-facture-wow.pdf, votrefacturefavorite.pdf, facture-2-22.pdf, etc.).
Cet article vous montrera comment utiliser la ligne de commande pour rechercher des fichiers de manière récursive dans des répertoires et sous-répertoires en utilisant des caractères génériques qui correspondent à une chaîne de texte pouvant apparaître n’importe où dans le nom de fichier lui-même, avec plusieurs exemples pratiques.
Comment rechercher de manière récursive tous les fichiers correspondant à un caractère générique
Nous allons utiliser la commande find, qui, comme vous l’avez peut-être deviné par son nom, vous permet de rechercher des fichiers dans le fichier système directement depuis la ligne de commande.
find.-name”text*”
Cette commande se décompose comme suit :
find [répertoire] (Dans ce cas,”.”représente le répertoire courant)-name”[texte correspondant et caractères génériques]”(dans ce cas, les noms de fichiers correspondant à”texte”suivis de n’importe quoi).
Pour trouver des correspondances avec des caractères génériques avant et après la correspondance de texte particulière, utilisez ce qui suit, en remplaçant”texte”par le mot approprié syntaxe pour faire correspondre les fichiers à votre cas d’utilisation :
find.-name”*texte*”
En utilisant l’exemple mentionné dans l’introduction, disons que vous essayez de retrouver tous les fichiers contenant le texte”facture”dans le nom du fichier, peu importe où ils se trouvent dans toute la structure du répertoire personnel de l’utilisateur. La syntaxe d’une telle recherche pourrait ressembler à ceci :
find ~/-name”*invoice*”
L’exécution de cette commande peut afficher quelque chose comme ce qui suit en sortie de commande :
/Users/Paul//Library/Application Support/CloudAppHoldingFiles/mystery-invoice-2023.pdf
/Users/Paul//Library/Application Support/WhoKnows/invoice-2024.pdf
/Users/Paul/Documents/big-invoice-wow.pdf
/Users/Paul/Documents/Misc/small-invoice-dontforget.pdf
/Users/Paul/Desktop/YouForgotAboutThisInvoice.pdf
/Users/Paul/Desktop/AnotherInvoice.pdf
/Users/Paul/Documents/Invoices/invoice-1-23.pdf
/Users/Paul/Documents/Invoices/invoice-3-23.pdf
/Users/Paul/Documents/Invoices/invoice-4-23.pdf
/Users/Paul/Documents/Invoices/invoice-5-23.pdf
/Users/Paul/Documents/Invoices/invoice-6-23.pdf
Comme vous pouvez le voir, cette recherche de commande et de fichier est particulièrement utile si vous avez des fichiers éparpillés dans un système de fichiers que vous souhaitez retrouver tous par correspondance de nom et caractères génériques.
Bien que vous puissiez certainement utiliser Spotlight ou Finder pour essayer de retrouver toutes les correspondances également, avec certaines des modifications les plus récentes apportées à Spotlight, il semble plus difficile de trouver tous les fichiers, et bien que la recherche du Finder puisse utiliser des caractères génériques pour trouver des correspondances de nom aussi, la ligne de commande est simplement plus facile pour de nombreux utilisateurs. Si le Finder est plus facile, vous pouvez trouver cette astuce pour répertorier tous les fichiers dans les sous-répertoires de manière récursive pour être également utile.
Si vous avez une autre méthode préférée pour rechercher des fichiers de manière récursive dans les répertoires par des correspondances génériques, partagez votre approche dans les commentaires ci-dessous !