Pour les non-initiés, un outil de recherche de modèles comme findstr peut sembler inutile. Mais lorsqu'il s'agit de fichiers journaux générés par le système ou de sorties de ligne de commande contenant des centaines de lignes de texte, findstr est exactement l'outil dont vous avez besoin.
Les utilisateurs d'un système d'exploitation Linux connaissent déjà l'incroyable utilité de la commande Grep, et findstr remplit un rôle similaire dans Microsoft Windows. Vous pouvez le combiner avec d'autres commandes à l'aide de tubes ou simplement l'exécuter directement pour analyser plusieurs fichiers texte. Voyons comment fonctionne findstr avec quelques exemples.
Utilisation de la commande Findstr
La syntaxe de base est simple : findstr
findstr SFC example1.txt
Cette commande trouvera et affichera toutes les lignes contenant la chaîne de recherche SFC. Notez que par défaut, findstr est sensible à la casse, donc toute mention de SFC ne sera pas mise en correspondance.
Paramètres
Vous pouvez personnaliser davantage le fonctionnement de findstr en incluant des paramètres facultatifs. Des commutateurs comme /B ou /I modifient le comportement de findstr, imposant des conditions supplémentaires à la recherche. Par exemple :
findstr /I SFC exemple1.txt
L'inclusion de /I comme paramètre rend la recherche insensible à la casse, permettant à toutes les mentions du terme de correspondre, quelle que soit leur casse. Vous pouvez trouver la liste de tous les paramètres de findstr dans le documents Microsoft officiels.
Modèles facultatifs
Les paramètres ne constituent pas le seul moyen de personnaliser findstr. Mettre
findstr « SFC DISM » exemple 1.txt
Ce qui précède renverra les lignes correspondantes contenant l'un ou l'autre des termes. Cela le rend utile lors de la recherche d'une mention pour un élément avec des noms différents.
Expressions régulières
Findstr est capable de rechercher dans plusieurs fichiers. En remplaçant
findstr SFC *.txt
L'utilisation du caractère générique fait correspondre l'expression régulière à tous les fichiers texte du répertoire actuel et de ses sous-répertoires. Les résultats sont également séparés par noms de fichiers, vous permettant de voir quelle ligne provient de quel fichier.
Tuyaux
Comme la plupart des commandes cmd, findstr peut également être utilisée sur la sortie d'autres commandes. Ajoutez simplement un tube après la fin de la commande cible et invoquez findstr sans
rép | findstr .txt
Cela exécute une recherche findstr sur la sortie de la commande dir, renvoyant la liste des fichiers se terminant par .txt. Bien entendu, cet exemple particulier est inutile en pratique puisque dir peut déjà localiser des fichiers du même type avec une expression régulière.
On peut également emprunter le chemin plus long de rediriger la sortie vers un fichier texte, puis utiliser findstr sur le fichier texte, mais il est plus facile de supprimer les intermédiaires.
Applications de Findstr sous Windows
Les utilisations évidentes de findstr ressortent facilement de la seule syntaxe. Vous pouvez rechercher des fichiers texte avec une chaîne de texte spécifique ou voir si une chaîne particulière est contenue dans un fichier.
Ceci, bien que théoriquement utile, est rarement utilisé en dehors de rares cas. À l'ère des services cloud comme Google Docs, la plupart des gens ne disposent plus de beaucoup de fichiers texte.
Les applications réelles de findstr sont un peu plus subtiles et impliquent des résultats plus puissants. Voici quelques-uns des exemples les plus intéressants.
Recherche de types de fichiers spécifiques
La commande dir inclut déjà l'option de recherche de noms de fichiers à l'aide d'expressions régulières. Mais avec findstr, vous pouvez rechercher des fichiers partageant d'autres attributs, tels que l'heure ou la date de création.
Supposons qu'une erreur se produise à 18h43 et que vous souhaitiez localiser tous les fichiers journaux créés à ce moment-là. Avec la commande dir seule, vous devrez parcourir manuellement les résultats ou obtenir tous les fichiers journaux et les comparer. En utilisant findstr, cela devient une simple commande.
rép | findstr 06:43
Vous pouvez essayer la même astuce pour rechercher des fichiers créés à une date particulière ou obtenir une liste de répertoires.
rép | findstr DIR
Filtrage des informations réseau avec Netstat.
Netstat est une commande Windows pratique qui vous donne toutes les informations sur les connexions réseau de votre ordinateur ; trop d'informations, c'est là qu'intervient findstr.
La sortie de netstat dans findstr vous permet de rechercher des connexions avec des propriétés spécifiques. Par exemple, voici comment vous pouvez obtenir une liste de toutes les connexions établies.
netstat | findstr ÉTABLI
Cette astuce est utile pour diagnostiquer les problèmes de réseau. Vous pouvez même utiliser findstr avec un PID d'application pour rechercher toutes les connexions ouvertes par un processus particulier.
netstat -o | findstr 13120
Obtention d'adresses IP spécifiques
La commande ipconfig vous permet d'afficher les détails de toutes les interfaces réseau des systèmes, y compris les adresses IP. Vous pouvez utiliser findstr pour extraire un type particulier d'adresse IP sans avoir à tout faire défiler.
ipconfig | findstr Temporaire
Vous pouvez étendre cette méthode pour obtenir n'importe quelle information d'ipconfig, des masques de sous-réseau aux adresses de passerelle.
Analyse des fichiers de script
Quel que soit le langage de programmation dans lequel vous codez, les fichiers de script ne sont en fin de compte que du texte. Cela signifie que vous pouvez utiliser findstr pour analyser des scripts et récupérer des sections spécifiques sans parcourir tout le code.
Disons que nous voulons voir comment l'instruction if a été utilisée dans un script particulier. Nous pouvons utiliser la commande suivante :
findstr if script.ahk
Non seulement cela affichera les lignes utilisant l'instruction if, mais cela nous montrera également les expressions utilisées. Vous pouvez également inclure le paramètre /N pour afficher les numéros de ligne, ce qui est très pratique pour les fichiers script.
findstr /N if script.ahk
Findstr vaut-il la peine d'être utilisé ?
La principale difficulté lors de la navigation dans l'interface de ligne de commande est la quantité de texte à parcourir. Findstr est un outil essentiel pour extraire des informations utiles et filtrer les fichiers indésirables.
Étant donné que toutes les commandes du terminal donnent une sortie textuelle, findstr peut toujours être utilisé pour localiser les données pertinentes. De dépannage des problèmes de réseau à la recherche des fichiers corrects, chaque action est rendue plus efficace avec findstr..
Même en dehors de sa synergie avec d'autres commandes, findstr est utile pour sa capacité à parcourir le contenu des fichiers texte. Vous pouvez rechercher des erreurs spécifiques dans les fichiers journaux générés par la machine ou récupérer des sections de code dans un script complexe.
En bref, findstr est un outil indispensable dans l'arsenal de tout utilisateur avancé de Windows, en particulier celui souhaitant se familiariser avec l'interface de ligne de commande.
.