GNU/Linux >> Znalost Linux >  >> Linux

Jak potlačit výsledky shody binárních souborů v grep

Toto je stará otázka a byla zodpovězena, ale myslel jsem, že sem vložím možnost --binary-files=text pro každého, kdo ji chce používat. Volba -I ignoruje binární soubor, ale pokud chcete, aby grep nakládal s binárním souborem jako s textovým souborem, použijte --binary-files=text takto:

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$

Existují tři možnosti, které můžete použít. -I je vyloučit binární soubory v grep. Ostatní jsou pro čísla řádků a názvy souborů.

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

Takže toto může být způsob, jak spustit grep:

grep -InH your-word *

Linux
  1. Jak mohu vyhledat víceřádkový vzor v souboru?

  2. Jak mohu grep rekurzivně?

  3. Jak rozeznat binární soubory od textových souborů v linuxu

  1. Jak zapsat celé číslo do binárního souboru pomocí Bash?

  2. Jak zajistit, aby příkaz grep vrátil celý odpovídající řádek

  3. Jak zjistit, zda je linuxový binární soubor 32bitový nebo 64bitový?

  1. Jak odstranit „binární data“ z textového souboru (např. Bash_history)?

  2. Proč Grep považuje soubor za binární?

  3. Jak grep pro unicode � ve skriptu bash