GNU/Linux >> Linux の 問題 >  >> Linux

grep でバイナリ ファイルの一致結果を抑制する方法

これは古い質問であり、回答済みですが、使用したい人のために --binary-files=text オプションをここに追加すると思いました。 -I オプションはバイナリ ファイルを無視しますが、grep でバイナリ ファイルをテキスト ファイルとして扱いたい場合は、次のように --binary-files=text を使用します。

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$

使用できるオプションは 3 つあります。 -I grepでバイナリファイルを除外することです。その他は行番号とファイル名です。

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

したがって、これは grep を実行する方法かもしれません:

grep -InH your-word *

Linux
  1. テキストファイル(Bash_historyなど)から「バイナリデータ」を削除するにはどうすればよいですか?

  2. Grepがファイルをバイナリと見なす理由は何ですか?

  3. ファイル内の複数行パターンを検索するにはどうすればよいですか?

  1. Linuxでテキストファイルからバイナリを見分ける方法

  2. 連続ストリームを「grep」する方法は?

  3. パターンの後にコンテンツをgrepする方法は?

  1. Linux で削除されたファイルを復元するには?

  2. bash シェルでファイルのセクションを grep する方法

  3. grep コマンドが一致する行全体を返すようにする方法