Lors de l'utilisation grep
sous linux, le résultat contient souvent beaucoup de "correspondances de fichiers binaires XXX", ce qui ne m'importe pas. Comment supprimer cette partie des résultats, ou comment exclure des fichiers binaires dans grep?
Lors de l'utilisation grep
sous linux, le résultat contient souvent beaucoup de "correspondances de fichiers binaires XXX", ce qui ne m'importe pas. Comment supprimer cette partie des résultats, ou comment exclure des fichiers binaires dans grep?
Réponses:
Il existe trois options que vous pouvez utiliser. -I
consiste à exclure les fichiers binaires dans grep. D'autres concernent les numéros de ligne et les noms de fichiers.
grep -I -n -H
-I -- process a binary file as if it did not contain matching data;
-n -- prefix each line of output with the 1-based line number within its input file
-H -- print the file name for each match
Donc, cela pourrait être un moyen d'exécuter grep:
grep -InH your-word *
-Irn
où r
signifie récursif pour regarder à l'intérieur de tous les dossiers. H
est exsessive ici
-n
indicateur indique à grep de signaler les numéros de ligne des fichiers dans lesquels il a trouvé une correspondance. "Basé sur 1" signifie que le comptage de lignes commence à partir de un plutôt que de zéro, comme cela se fait souvent en programmation. Donc, si la première ligne de votre fichier example.txt
est nommée Hello, world
, la deuxième ligne est Hello cat
, et la troisième ligne est cats are cool
, puis en recherchant "cat" via grep -n cat example.txt
, vous obtiendrez example.txt:2: Hello cat
et example.txt:3: cats are cool
.
C'est une vieille question à laquelle il a été répondu, mais je pensais que je mettrais l'option --binary-files = text ici pour tous ceux qui veulent l'utiliser. L'option -I ignore le fichier binaire mais si vous voulez que grep traite le fichier binaire comme un fichier texte, utilisez --binary-files = text comme ceci:
bash$ grep -i reset mediaLog*
Binary file mediaLog_dc1.txt matches
bash$ grep --binary-files=text -i reset mediaLog*
mediaLog_dc1.txt:2016-06-29 15:46:02,470 - Media [uploadChunk ,315] - ERROR - ('Connection aborted.', error(104, 'Connection reset by peer'))
mediaLog_dc1.txt:ConnectionError: ('Connection aborted.', error(104, 'Connection reset by peer'))
bash$