fichiers texte grep uniquement
find . -type f | xargs file | grep text | cut -d':' -f1 | xargs grep -l "TEXTSEARCH" {}
C'est une bonne solution? pour trouver TEXTSEARCH récursivement dans les fichiers textuels uniquement
42
demandé sur
StefanoCudini
2012-03-21 18:47:04
2 réponses
Vous pouvez utiliser le -r
(récursif) et -I
ignorer(binaire) des options grep
:
$ grep -rI "TEXTSEARCH" .
-I
traite un fichier binaire comme s'il ne contenait pas de données correspondantes; ceci est équivalent à l'option--binary-files=without-match
.-r
Lire tous les fichiers sous chaque répertoire, récursivement; ceci est équivalent à l'option-d recurse
.
172
répondu
kev
2015-04-15 10:29:44
Une autre solution, moins élégante que kevs, est de chaîner les commandes exec dans find ensemble, sans xargs et cut:
find . -type f -exec bash -c "file -bi {} | grep -q text" \; -exec grep TEXTSEARCH {} ";"
5
répondu
user unknown
2012-03-22 09:20:18