名前に関係なく、指定されたディレクトリにまったく同じ内容を持つ2つのファイルが存在することを確認する[重複]

名前に関係なく、指定されたディレクトリにまったく同じ内容を持つ2つのファイルが存在することを確認する[重複]

コマンドラインで一連のコマンドを使用して問題を解決できる場合は、スクリプトを書くよりも優れています。

答え1

for x in *; do for y in *; do [ "$x" = "$y" ] && continue; cmp -s "$x" "$y" && echo Same: "$x" and "$y"; done; done|head -1

または、読みやすくするために少し分けた場合は、次のようになります。

for x in *
do 
  for y in *
  do 
    [ "$x" = "$y" ] && continue
    cmp -s "$x" "$y" && echo Same: "$x" and "$y"
  done
done | head -1

これはhead、単にミラーレポートを中断状態に保つためのものです(「a = b」と「b = a」)。

答え2

find . -type f -exec md5sum "{}" \; | awk 'seen[$1] { print "Duplicate file "$2" with hash "$1" at "seen[$1]" } ! seen[$1] {seen[$1]=$2}'

関連情報