GNU/Linux >> Linux の 問題 >  >> Linux

Grepがファイルをバイナリと見なす理由は何ですか?

ボックスにWindowsシステムからのデータベースダンプがいくつかあります。それらはテキストファイルです。私はcygwinを使用してそれらをgrepしています。これらはプレーンテキストファイルのようです。メモ帳やワードパッドなどのテキストエディタで開くと、見やすくなっています。ただし、それらに対してgrepを実行すると、binary file foo.txt matchesと表示されます。 。

ファイルにASCIINULが含まれていることに気づきました データベースダンプからのアーティファクトであると私が信じる文字。

では、grepがこれらのファイルをバイナリと見なす理由は何ですか? NUL キャラクター?ファイルシステムにフラグはありますか?行の一致を表示するためにgrepを取得するには、何を変更する必要がありますか?

承認された回答:

NULがある場合 ファイル内の任意の場所に文字がある場合、grepはそれをバイナリファイルと見なします。

このcatファイルのような回避策があるかもしれません| tr -d '

Linux
  1. Linuxのiノード番号とは何ですか?

  2. Exec 3とは何ですか?

  3. ファイルからGrepパターンを読み取る?

  1. ファイル転送プロトコル(FTP)とは

  2. Linuxgrepコマンド

  3. .so.2 ファイルとは何ですか?

  1. grep でバイナリ ファイルの一致結果を抑制する方法

  2. .so ファイルとは何ですか?

  3. Linux の file コマンドがテキスト ファイルをバイナリ データとして報告する原因は何ですか?