Sep 27 2009
Findstr, une Alternative Windows Native à Grep
Un équivalent de la commande Unix grep est disponible en standard sous Windows, un peu moins puissant certes: findstr. Il propose aussi les recherches basées sur des patterns, toujours dans une moindre mesure.
Vous n’avez pas besoin d’installer quoi que ce soit, la commande est nativement présente sur l’ensemble des systèmes Windows.
Options de findstr
C:\>findstr /?
Recherche de chaînes de caractères dans les fichiers.
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P]
[/F:fichier] [/C:chaîne] [/G:fichier] [/D:liste de répertoires]
[/A:attributs de couleur] [chaînes]
[[lecteur:][chemin]nom de fichier[ ...]]
/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.
/OFFLINE 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.
chaînes Chaînes à rechercher.
[lecteur:][chemin]nom de fichier
Spécifie les fichiers dans lesquels effectuer la recherche.
Utilisez des espaces pour séparer plusieurs chaînes à rechercher, sauf si l’argument est précédé de /C.
Exemple : ‘FINDSTR « bonne journée » x.y’ recherche « bonne » ou « journée » dans le fichier x.y. ‘FINDSTR /C: »bonne journée » x.y’ recherche « bonne journée » dans le fichier x.y.
Petit guide des options usuelles :
. 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
\<xyz Emplacement : début du mot
xyz\> Emplacement : fin du mot
Pour obtenir des informations complètes sur les options usuelles FINDSTR, reportez-vous à la Référence des commandes en ligne.
Exemple d’utilisation de la Commande
Passez le résultat de la commande précédente à findstr par le pipe, comme vous le feriez pour la commande grep sous Linux:
C:\>netstat -an | findstr 0.0.0.0
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:11756 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1049 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1080 0.0.0.0:0 LISTENING
TCP 127.0.0.1:5152 0.0.0.0:0 LISTENING
TCP 192.168.15.111:139 0.0.0.0:0 LISTENING
UDP 0.0.0.0:443 *:*
UDP 0.0.0.0:445 *:*
UDP 0.0.0.0:11756 *:*