Findstr est une commande CMD de Windows qui vous permet de rechercher un motif dans les fichiers.
Avec cette commande, vous pouvez rechercher dans le contenu des fichiers ou filtrer une chaîne de caractères.
Elle supporte la recherche récursive ainsi que les expressions régulières.
C’est un équivalent de grep d’Unix et Linux mais avec des limitations.
Dans ce tutoriel, je vous montre comment utiliser la commande findstr à travers de multiples exemples.
Table des matières
- 1 La syntaxe de la commande Findstr
- 2 Comment utiliser la commande Findstr avec des exemples
- 2.1 Recherche une chaîne de caractères dans un fichier
- 2.2 Ignorer la casse
- 2.3 Recherche de plusieurs chaînes de caractères
- 2.4 Utiliser une expression régulière (regex)
- 2.5 Recherche dans plusieurs fichiers
- 2.6 Recherche récursive dans plusieurs fichiers
- 2.7 Recherche en début de ligne
- 2.8 Recherche en fin de ligne
- 2.9 Imprimer les numéros de ligne
- 2.10 Utiliser findstr dans le résultat d’une autre commande (redirection)
- 3 Liens
La syntaxe de la commande Findstr
Voici la syntaxe de la commande findstr de Windows :
FINDSTR <option> chaînes <lecteur:\chemin\nom de fichier>
De nombreuses options et paramètres sont disponibles dont voici une liste.
Options | Description |
/B | Recherche l’élément s’il est en début de ligne |
/E | Recherche l’élément s’il est en fin de ligne |
/L | Recherche les chaînes littéralement |
/R | Recherche les chaînes en tant qu’expressions |
/S | Recherche les fichiers correspondants dans le répertoire actif et dans tous ses sous-répertoires |
/I | Spécifie que la recherche ne doit pas tenir compte de la casse |
/X | Affiche les lignes correspondant parfaitement |
/V | N’affiche que les lignes non correspondantes |
/N | Affiche le numéro de ligne devant chaque ligne correspondante |
/M | Affiche uniquement le nom des fichiers contenant des chaînes correspondantes |
/O | Affiche le décalage des caractères pour chaque ligne correspondante |
/P | Ignore les fichiers ne contenant pas de caractères affichables |
/OFF[LINE] | Ne pas ignorer les fichiers dont l’attribut hors connexion a été réglé |
/A:attr | Spécifie l’attribut de couleur avec 2 chiffres hexadécimaux. Entrez “color /?”. |
/F:fichier | Lit la liste des fichiers dans le fichier spécifié (/ pour la console). |
/C:chaîne | Recherche la chaîne spécifiée littéralement. |
/G:fichier | Obtient les chaînes à rechercher à partir du fichier spécifié (/ pour la console). |
/D:rép | Recherche dans une liste de répertoires délimitée par des points-virgules |
Comment utiliser la commande Findstr avec des exemples
Recherche une chaîne de caractères dans un fichier
L’utilisation la plus basique de findstr recherche un terme dans un fichier.
Pour cela, vous n’avez pas besoin de spécifier d’option.
findstr <chaîne de caractères à chercher> <fichier>
Dans cet exemple, nous allons rechercher malekal dans le fichier demo.txt.
findstr "malekal" "C:\Users\MaK\Documents\demo.txt"
Comme nous pouvons le voir, nous avons fourni le terme de recherche ou la chaîne de caractères entre guillemets pour éviter les erreurs et les mauvaises utilisations.
Ignorer la casse
Lors de la recherche de termes, le comportement par défaut est la sensibilité à la casse. La sensibilité à la casse signifie que toutes les chaînes de caractères fournies, qu’elles soient en majuscules ou en minuscules, sont recherchées en fonction de leur casse et qu’aucun changement de casse ne sera effectué. Nous pouvons modifier ce comportement en fonction de nos besoins et rechercher des termes en respectant la casse afin que le terme recherché corresponde à tous les cas.
Dans cet exemple, nous allons rechercher MALEKAL avec l’option /I afin d’ignorer la casse.
findstr /I "MALEKAL" demo.txt
On voit bien que dans le premier cas, aucune occurrence n’est trouvée alors qu’avec l’option pour ignorer la casse, la commande trouve bien le texte dans le fichier.
Recherche de plusieurs chaînes de caractères
Dans l’exemple précédent, nous avons fourni un seul terme à rechercher. Dans certaines situations, nous pouvons avoir besoin de rechercher plusieurs termes. Nous pouvons fournir plusieurs chaînes de caractères à la commande findstr pour la recherche. Toutes les chaînes données seront traitées avec l’opérateur logique “OU”.
Dans cet exemple, nous allons rechercher les termes “adore malekal” .
findstr "adore malekal" users.txt
De ce fait toutes les occurrences contenant un des mots clés sont trouvées puisque findstr va rechercher chaque mot distinctement.
Pour chercher une chaîne de caractères exactes, ajoutez l’option /C de cette façon :
findstr /C:"adore malekal" users.txt
Utiliser une expression régulière (regex)
Les expressions régulières sont utilisées pour spécifier la structure de la chaîne de caractères et non les caractères entiers de la chaîne. Nous pouvons exprimer les caractères de début et de fin d’une chaîne. Ces expressions régulières peuvent être utilisées avec la commande findstr.
Dans cet exemple, nous allons rechercher une chaîne qui commence par m et se termine par l.
Nous allons activer la recherche par expression régulière grâce à l’option /R.
findstr /R "m.*l" demo.txt
Motif | Description |
. | Caractère joker = tout caractère |
* | Répétition : zéro occurrences ou plus du caractère ou de la classe précédents |
^ | Emplacement : début de ligne |
$ | Emplacement : fin de ligne |
[classe] | Classe de caractères : tout caractère du jeu |
[^class] | Classe inverse : tout caractère n’appartenant pas au jeu |
[x-y] | Limites : tout caractère dans les limites spécifiées |
\x | Échappement : utilisation littérale du métacaractère x |
\ | Emplacement : fin du mot |
Par exemple pour utiliser une classe :
findstr /R "m[a-z0-9]*.com" "C:\Users\MaK\Documents\demo.txt"
Recherche dans plusieurs fichiers
Jusqu’à présent, nous avons recherché des termes dans un seul fichier.
La recherche dans un seul fichier n’est pas efficace dans la plupart des situations. Findstr offre la possibilité de rechercher dans plusieurs fichiers. Afin de rechercher des fichiers multiples, nous pouvons utiliser le caractère étoile.
Si nous voulons rechercher uniquement des fichiers texte, nous pouvons également fournir une extension comme *.txt comme ci-dessous.
findstr /R "malekal" "C:\Users\MaK\Documents\d*.txt"
Ici cela va rechercher dans tous les fichiers avec l’extension txt qui commence par la lettre d.
Recherche récursive dans plusieurs fichiers
Dans l’exemple précédent, nous avons cherché tous les fichiers dans le répertoire Documents.
Mais il existe une option qui nous permet de rechercher dans tous les répertoires et sous-répertoires de travail actuels. C’est ce que nous appelons la recherche récursive.
Dans cet exemple, nous allons rechercher un fichier de manière récursive dans le dossier Documents, ce qui va chercher dans tous les sous-dossiers.
Recherche en début de ligne
Nous pouvons rechercher un terme ou une chaîne de caractères à la fin des lignes.
Nous utiliserons l’option /B pour rechercher le début de la ligne. Dans cet exemple, nous allons chercher is au début de la ligne.
findstr /B "malek" *.txt
Un équivalent avec des expressions régulières donne :
findstr /R "^malek" *.txt
Recherche en fin de ligne
Une autre façon de chercher un fichier est de chercher à la fin du fichier. Nous utiliserons l’option /E pour rechercher à la fin du fichier.
findstr /E ".com" *.txt
L’équivalent avec regex :
findstr /R ".com$" *.txt
Imprimer les numéros de ligne
Une autre fonctionnalité utile de findstr est l’impression des numéros de ligne avec les résultats.
Cela donnera un indice sur le numéro de ligne de la chaîne correspondante. Nous pouvons imprimer le numéro de ligne de la chaîne trouvée avec l’option /N comme ci-dessous.
findstr /N "malekal" *.txt
Utiliser findstr dans le résultat d’une autre commande (redirection)
Nous avons surtout vu la recherche de fichiers mais findstr peut s’utiliser pour rechercher dans le contenu du résultat d’une commande.
Cela se fait grâce au caractère pipe exactement comme dans Linux ou Unix.
Dans cet exemple, nous chercher le motif démo dans le résultat de la commande dir.
dir|findstr /I "demo"
Liens
- 14 meilleurs logiciels de recherche de fichiers sur Windows
- Comment rechercher des fichiers sur Windows
- Comment rechercher dans le contenu des fichiers sur Windows
- Comment rechercher des fichiers dans Windows avec AnyTXT Searcher
- Everything : recherche de fichiers sur Windows
- Comment enlever la barre de recherche de Windows 10, 11
- 6 façons d’afficher la barre de recherche de Windows 10
- Barre de recherche de Windows 10/11 ne fonctionne plus : 7 solutions
- Windows Search ne fonctionne pas : réparation et réinstallation
- Résoudre les problèmes d’indexation et recherche de fichiers sur Windows 10
- Autorisations incorrectes sur les répertoires du service de recherche Windows : les solutions
- Configurer l’indexation et la recherche de fichiers sur Windows 10
- Désactiver l’indexation de fichiers sur Windows 10, 11 ou 7
- Reconstruire l’indexation de fichiers de Windows 10
- Comment désactiver la recherche Bing sur le Web dans le menu Démarrer de Windows 10, 11