GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer les résultats de correspondance de fichiers binaires dans grep

C'est une vieille question et sa réponse a été répondue, mais j'ai pensé 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 le grep traite le fichier binaire comme un fichier texte, utilisez --binary-files=text comme suit :

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$

Il existe trois options que vous pouvez utiliser. -I est d'exclure les fichiers binaires dans grep. Les autres sont pour 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

Cela pourrait donc être une façon d'exécuter grep :

grep -InH your-word *

Linux
  1. Comment supprimer les "données binaires" d'un fichier texte (par exemple, Bash_history) ?

  2. Comment distinguer le binaire des fichiers texte sous Linux

  3. Comment "grep" un flux continu ?

  4. Comment écrire un entier dans un fichier binaire à l'aide de Bash ?

  5. Comment faire en sorte que la commande grep renvoie toute la ligne correspondante

Comment trouver une chaîne dans un fichier sous Linux

Comment rechercher dans des fichiers spécifiques correspondant à un modèle ?

Grep Comment supprimer l'affichage d'un fichier non correspondant ?

Comment éditer un fichier binaire sur les systèmes Unix

Comment puis-je obtenir un binaire à partir d'un fichier .py

Comment grep pour unicode � dans un script bash