grep [バイナリー・ファイルhoge.logは一致しました] のエラー時の対処

2017-01-10

grepコマンドで、ファイルを検索時に以下のエラーとなる場合の対処方法。
エラーメッセージは、「バイナリー・ファイル(標準入力)は一致しました」・「バイナリー・ファイルhoge.logは一致しました」となどが表示されます

$ grep "TEST" hoge.log
バイナリー・ファイルhoge.logは一致しました

原因はファイルがテキストファイルではなく、バイナリファイルとして処理されてエラーとなってるみたいです
ファイルがテキストファイルの場合は、「-a」「–text」「–binary-files=text」のオプションをつけてテキストファイルとして扱えばOKです
# -a の場合
$ grep -a "TEST" hoge.log

# --text の場合
$ grep --text "TEST" hoge.log

# --binary-files=text の場合
$ grep --binary-files=text "TEST" hoge.log

スポンサーリンク