grep コマンドを使っていたら、中身はテキストファイル なのに "binary file matches" というメッセージが出てきて処理できなかったので、その時の回避方法をここにメモします。
エラー
実行したコマンドは以下のものです。
$ grep "HOGE" sample.txt Binary file (standard input) matches
原因は grep するファイルにバイナリと思われるデータが含まれていて、それがテキストファイルではなく、バイナリファイルとして処理されてエラーとなってるみたいです。
回避方法
回避方法は、「-a」「–text」「–binary-files=text」のオプションをつけてテキストファイルとして扱えいいみたいです。
オプション
「-a」
# 「-a」オプションを付与する場合 $ grep -a "HOGE" sample.txt
「–text」
# 「--text」オプションを付与する場合 $ grep --text "HOGE" sample.txt
「–binary-files=text」
# 「--binary-files=text」を付与する場合 $ grep --binary-files=text "HOGE" sample.log