作成: 更新:

grepできなくて困った

Linuxgrepiconv

ログファイルに対して日付で絞ろうとgrepしたら、なんの出力もない
いろんなパターン試してたら

Binary file (standard input) matches.

とでてきた。ログファイルなのになぜ…?

原因

ファイルの文字コードがutf-16leだったのが原因
(win機で作成されたファイルをlinux機でgrepしてたから気づかんかった)

#文字コード確認
file -i hoge.log

# utf-16leからutf-8に変換してgrepした結果をファイルに出力
iconv -f utf-16le -t utf-8 hoge.log | grep 拾いたい文字 >> hoge.utf8.log

ワケわからんときは文字コードみる