0

ディレクトリに何百ものファイルがあり、ファイルには以下に示す日付の名前が付いています。異なる日付の同じファイルを比較するにはどうすればよいですか。

元 :

/test/
xyz-my_S1logfile.Aug.25.gz  
bhd-my_S1logfile.Aug.30.gz
ddddf-my_S2logfie.Aug.25.gz
zsed-my_S2logfie.Aug.30.gz

Compare the size of xyz-my_S1logfile.Aug.25.gz and bhd-my_S1logfile.Aug.30.gz
ddddf-my_S2logfie.Aug.25.gz and zsed-my_S2logfie.Aug.30.gz
.....
4

1 に答える 1

1

私があなたの質問を誤解していない限り、ディレクトリ内で内容が重複しているファイルを見つけたいと考えています。これを行う標準的な方法は、各ファイルの内容に対して強力なハッシュを生成することです。たとえば、SHA256sha256sumの場合、次のツールを使用できます。

sha256sum /my/dir/* > sha256sums.txt

またはさらに良い:

find /my/dir -type f -print0 | xargs -r0 sha256sum > sha256sums.txt

SHA-2 のどのバリアントでもまだ衝突が見つかっていないことを考えると、同じハッシュを持つファイルはすべて同一であると確信できます。sort次に、とを使用しuniqて、それぞれの出現回数で重複するハッシュを見つけることができます。

cat sha256sums.txt | sort | cut -b -32 | uniq -cd | sort -nr

sha256sums.txt次に、対応するファイルのリストの重複ハッシュごとにファイルをgrep できます。

または、自動化されたツールが必要な場合は、重複ファイルの検索をサポートするFsLintを試すことができます。

于 2012-08-31T10:03:04.160 に答える