ディレクトリをバイナリと比較する方法

ディレクトリをバイナリと比較する方法

ディレクトリをバイナリファイルと比較したいです。実際、私はファイル間の実際の違いに興味があるのではなく、違いがあるか(そしてどのファイルが違うのか)に興味があります。以前これを使用したことがありますが、meldバイナリファイルを比較することはできません。

どのファイル比較ツールがこれを実行できますか?

メモ:グラフィカルなツールなのか、単純なコマンドラインなのかは関係ありません。

ベストアンサー1

これは簡単に行えますdiff。たとえば、

$ ls -l foo/
total 2132
-rwxr-xr-x 1 terdon terdon 1029624 Nov 18 13:13 bash
-rwxr-xr-x 1 terdon terdon 1029624 Nov 18 13:13 bash2
-rwxr-xr-x 1 terdon terdon  118280 Nov 18 13:13 ls

$ ls -l bar/
total 1124
-rwxr-xr-x 1 terdon terdon 1029624 Nov 18 13:14 bash
-rwxr-xr-x 1 terdon terdon  118280 Nov 18 13:14 ls

$ diff bar/ foo/
Only in foo/: bash2

上記の例では、foo/ディレクトリbar/にはバイナリが含まれてbash2いますfoo/

したがって、次のように単純なものを実行できます。

$ diff bar/ foo/ && echo "The directories' contents are identical"

これにより、他のファイルがあれば表示され、「ディレクトリの内容は同じです」と印刷されます。サブディレクトリとここに含まれるファイルを比較するには、を使用しますdiff -r。これを-qテキストファイルの出力抑制と組み合わせます。

おすすめ記事