テキストファイルをgrepしたら、バイナルファイルとして扱われる
テキストファイルをgrepしたら「バイナリー・ファイルxxxは一致しました」とエラー時が表示される
grepコマンドで、テキストファイルを検索したら、下記のようなエラーが表示される場合があります
- 「バイナリー・ファイルTEST.txtは一致しました」
- 「バイナリー・ファイル(標準入力)は一致しました」
- 「Binary file (standard input) matches」
$ grep "TEST" TEST.txt バイナリー・ファイルTEST.txtは一致しました $ grep "TEST" TEST.txt Binary file (standard input) matches
原因はgrepするファイルにバイナリと思われるデータが含まれており、テキストファイルではなく、バイナリファイルとして処理されてエラーとなってるみたいです
grepするファイルがテキストファイルの場合は、「-a」「–text」「–binary-files=text」のオプションをつけてテキストファイルとして扱えばOKです
# -a の場合 $ grep -a "TEST" test.txt # --text の場合 $ grep --text "TEST" hoge.txt # --binary-files=text の場合 $ grep --binary-files=text "TEST" hoge.log
ディスカッション
コメント一覧
まだ、コメントがありません