la commande Findstr sous Windows est utile pour rechercher un motif de texte spécifique dans les fichiers. Sa fonctionnalité est similaire à la commande grep sur Linux OS. Vous trouverez ci-dessous la syntaxe de ‘findstr’ pour différents cas d’utilisation.

recherche de texte/chaîne dans un fichier:

findstr pattern filename

Par exemple, pour rechercher la chaîne ‘Windows’ dans le fichier texte CLItips.txt, la commande serait comme ci-dessous.

findstr Windows CLItips.txt

Notez que la commande ci-dessus ressemble exactement de « Fenêtres »., Il considère le cas par défaut. Donc, si vous avez une ligne qui a le mot « windows », il ne serait pas imprimé dans le résultat de la commande ci-dessus.

Ignorer la casse du texte:

Vous pouvez ajouter le commutateur /I pour ignorer la casse lors de la recherche. Donc, si vous exécutez ‘ findstr windows / I CLItips.txt‘, il fait une correspondance de motif insensible à la casse.

recherchez l’un des mots donnés

Si vous souhaitez imprimer les lignes ayant l’un des mots donnés, vous pouvez joindre la liste des mots entre guillemets doubles dans la commande findstr.,

findstr "word1 word2 word3.." filename.txt
findstr "Apple Orange" fruits.txt

Cette commande imprime une ligne, si il a le mot « Apple » ou le mot « Orange » ou les deux mots.

rechercher un motif avec plusieurs mots

findstr /C:"word1 word2 word3..." filename

/ C indique que le motif de recherche doit être apparié littéralement.

par exemple, pour rechercher la chaîne « Apple Ball Cat” dans le livre de fichiers.txt, la commande serait comme ci-dessous

 findstr /C:"Apple Ball Cat" Book.txt

Recherche avec des Expressions Régulières

Vous pouvez utiliser des expressions régulières avec findstr /R switch. La commande typique serait comme ci-dessous.,

findstr /R pattern filename.txt

ici, le modèle peut être spécifié en utilisant des expressions régulières.

exemples:
recherchez l’occurrence de tous les mots se terminant par ‘xyz’ dans un fichier.

findstr /R *xyz filename.txt

Rechercher du texte dans tous les fichiers dans un répertoire courant

Vous pouvez utiliser le caractère générique ‘*” pour indiquer que tous les fichiers dans un répertoire doit être recherché dans la chaîne.
par exemple, pour rechercher « windows » dans tous les fichiers du répertoire courant, vous pouvez utiliser la commande ci-dessous.,

findstr /I windows *

pour rechercher tous les fichiers texte dans le répertoire C:\data:

findstr /I windows C:\data\*.txt

recherchez plusieurs chaînes

Si vous devez rechercher plusieurs chaînes, vous pouvez le faire avec le script batch ci-dessous.

@echo offfor /F %%i in (pattern.txt) do (echo Files containing %%ifindstr /M /C:%%i /S *.txt)

‘modèle.txt  » est le fichier cordes(une par ligne) qui doivent être recherchées. La commande ci-dessus recherche uniquement les fichiers texte. Vous pouvez personnaliser la commande findstr dans le script pour rechercher dans les fichiers avec d’autres extensions. L’ajout de l’option’ /M ‘ à la commande entraîne l’impression uniquement des noms de fichiers.,

N’affiche que les lignes où la chaîne donnée se trouve au début de la ligne.

Vous pouvez ajouter le commutateur / B pour indiquer que la chaîne spécifiée doit être au début de la ligne.

findstr /B /C:windows CLItips.txt

Imprimer uniquement les lignes où la chaîne est à la fin de la ligne

findstr /E /C:windows CLItips.txt

Imprimer les numéros de ligne pour toutes les paires de lignes.

Vous pouvez ajouter / N switch à la commande findstr pour imprimer les numéros de ligne des lignes correspondantes.

Imprimer uniquement les noms de fichiers

finstr /M /C:"pattern" *.log

Cette commande cherche le modèle dans tous les *.,les fichiers journaux, puis imprime uniquement les noms de fichiers ayant le motif. Même si un fichier a plusieurs occurrences du motif, il n’est imprimé qu’une seule fois par findstr.

Laisser un commentaire

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