Comment trouver récursivement tous les fichiers dans les répertoires/sous-dossiers à l'aide de caractères génériques ?

Mac Terminal icon

Les utilisateurs peuvent être confrontés à une situation où ils souhaitent trouver tous les fichiers d'un répertoire, d'un dossier ou d'une structure de sous-dossier qui correspondent à une chaîne particulière, mais avec des variations dans les noms de fichiers, une situation idéale pour trouver des fichiers basés sur des correspondances de caractères génériques.

Par exemple, vous souhaitez peut-être localiser tous les fichiers d'un système de fichiers contenant le mot "facture", quel que soit l'endroit du nom de fichier où le texte "facture" apparaît (par exemple, les fichiers nommés comme suit : invoice1-2023.pdf, big-invoice-wow.pdf, yourfavoriteinvoice.pdf, invoice-2-22.pdf, etc).

Cet article vous montrera comment utiliser la ligne de commande pour trouver des fichiers de manière récursive dans les répertoires et les 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 du 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 son nom l'indique, permet de rechercher des fichiers dans le système de fichiers directement à partir de la ligne de commande.

Lire aussi :  Prendre une photo sur iPhone à distance en utilisant les écouteurs

find . -name "text*"

Cette commande se décompose comme suit :

find [directory] (Dans ce cas, "." représente le répertoire actuel) -name "[matched text and wildcards](dans ce cas, les noms de fichiers correspondant à "text" suivi 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 la syntaxe appropriée pour faire correspondre les fichiers à votre cas d'utilisation :

find . -name "*text*"

Pour reprendre l'exemple mentionné dans l'introduction, disons que vous essayez de retrouver tous les fichiers contenant le texte "invoice" dans le nom du fichier, quel que soit leur emplacement dans l'ensemble de la structure du répertoire personnel de l'utilisateur. La syntaxe d'une telle recherche pourrait ressembler à ce qui suit :

find ~/ -name "*invoice*"

L'exécution de cette commande peut donner lieu à la sortie suivante :

/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 constater, cette commande et la recherche de fichiers sont particulièrement utiles si vous avez des fichiers dispersés dans un système de fichiers que vous souhaitez retrouver par correspondance de nom et caractères génériques.

Lire aussi :  Comment enregistrer une page web au format PDF sur l'iPad et l'iPhone en toute simplicité

Bien que vous puissiez certainement utiliser Spotlight ou le Finder pour essayer de trouver toutes les correspondances, avec certaines des modifications récentes apportées à Spotlight, il semble plus difficile de trouver tous les fichiers, et bien que la recherche dans le Finder puisse utiliser des caractères génériques pour trouver les correspondances de noms, la ligne de commande est tout simplement plus facile pour de nombreux utilisateurs. Si le Finder est plus facile, cette astuce pour lister tous les fichiers dans les sous-répertoires de manière récursive peut également s'avérer utile.

Si vous avez une autre méthode préférée pour rechercher des fichiers de manière récursive dans des répertoires à l'aide de caractères génériques, partagez votre approche dans les commentaires ci-dessous !

Click to rate this post!
[Total: 0 Average: 0]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *