47 votes

Recherche récursive de texte avec grep et motifs de fichiers

Compte tenu de cet exemple de structure de dossier :

/folder1/file1.txt
/folder1/file2.djd
/folder2/file3.txt
/folder2/file2.fha

Comment effectuer une recherche de texte récursive sur l'ensemble des *.txt fichiers avec grep de "/" ?

( "grep -r <pattern> *.txt" échoue lorsqu'il est exécuté à partir de "/", car il n'y a pas de .txt dans ce dossier).

0voto

Commander Keen Points 1253

La réponse de Mannis créerait un nouveau processus grep pour chaque fichier texte. Si vous avez lots de fichiers texte, vous pourriez envisager d'analyser chaque fichier d'abord et de sélectionner les fichiers .txt une fois que c'est fait :

grep -r <pattern> * | grep \.txt:

Cette solution est plus gourmande en disque, mais pourrait être plus rapide.

0voto

santa Points 121

Nous sommes en 2019 et il est hors de question que j'utilise encore grep pour une recherche de texte récursive.

Selon moi, les réponses d'aujourd'hui devraient inclure ripgrep :

rg <pattern> -ttxt

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X