Grep、しかしバイナリファイルの場合

Grep、しかしバイナリファイルの場合

データ復旧ソフトウェアで生成された画像ファイルの断片があります。ソース全体が私のホームファイルサーバーのどこかにあるようです。

テキストファイルの断片の場合は、一意に見える断片をインポートして実行しgrep -r -l -F 、数時間後に戻って回答を得ることができます。しかし、バイナリファイルなので、気に入らないもの(たとえば、nullバイト)がすべて含まれており、それを克服できても誤った入力UTF-8をgrep提供する方法がわかりません。grep

可能であれば、独自の検索プログラムを作成せずに元のテキストを検索するにはどうすればよいですか?

(重複ではありません。この問題: タイトルがどのように聞こえるか、バイナリファイル内の文字列を探す内容ですが、私はバイナリファイルからバイナリデータを探しています。 )

ベストアンサー1

私は何をしますか:

grep -a -r -l -F <fixed string> .

-a、--text
バイナリファイルをテキストのように処理します。これは --binary-files=text オプションと同じです。

または

find . -type f -exec sh -c '
    strings "$1" | grep -lF <fixed pattern>
' sh {} \;
 

strings - ファイルに印刷可能な文字シーケンスを印刷します。

おすすめ記事