2つのディレクトリを比較して重複ファイルを削除する方法

2つのディレクトリを比較して重複ファイルを削除する方法

両方のディレクトリで名前、サイズ、型の同じファイルを検索し、これらのディレクトリのいずれかからファイルを削除するにはどうすればよいですか?

ベストアンサー1

使用fdupes:

fdupes --delete dir1 dir2

fdupesファイル名またはファイル形式はテストされませんが、ファイルサイズと内容はテストされます(暗黙的にファイル形式を含む)。

例:

$ mkdir dir1 dir2

$ touch dir{1,2}/{a,b,c}

$ tree
.
|-- dir1
|   |-- a
|   |-- b
|   `-- c
`-- dir2
    |-- a
    |-- b
    `-- c

2 directories, 6 files

$ fdupes --delete dir1 dir2
[1] dir1/a
[2] dir1/b
[3] dir1/c
[4] dir2/a
[5] dir2/b
[6] dir2/c

Set 1 of 1, preserve files [1 - 6, all]: 1

   [+] dir1/a
   [-] dir1/b
   [-] dir1/c
   [-] dir2/a
   [-] dir2/b
   [-] dir2/c

$ tree
.
|-- dir1
|   `-- a
`-- dir2

2 directories, 1 file

おすすめ記事