私のボックスには、Windowsシステムのいくつかのデータベースダンプがあります。テキストファイルです。私はそれらをgrepするためにcygwinを使用しています。このファイルはプレーンテキストファイルのようです。メモ帳やワードパッドなどのテキストエディタで開きましたが、きれいに見えました。しかし、grepを実行するとbinary file foo.txt matches
。
NUL
私はこれらのファイルにデータベースダンプの成果物であると仮定するいくつかのASCII文字が含まれていることを発見しました。
それでは、grepがこれらのファイルがバイナリだと思うのはなぜですか?数値NUL
?ファイルシステムにフラグがありますか? grepで行の一致を表示するには何を変更する必要がありますか?
ベストアンサー1
NUL
ファイルに文字が含まれている場合、grepはそれをバイナリファイルとして扱います。
このような回避策があるかもしれませんcat file | tr -d '\000' | yourgrep
。まず、すべてのNULL値を削除してからファイルを検索してください。