2つのディレクトリを比較するときにfdupesが重複ファイルを見つけて表示する仕組みは理解していますが、その逆、つまり重複するファイルをすべて表示する方法を知りたいです。非出力内のファイルを一致させるには、fdupes でこれを行うことができますか、それとも、これをより良く実行できる別のプログラムがありますか? (追記: fdupes と同じ方法で、md5 の合計またはファイル間のビット単位の比較のいずれかを使用して比較を行う必要があります)
答え1
このオプションを追加することを考えていましたリントしばらくは(しかし今まで誰もそれを要求していませんでした)。私はこのオプションを持つテストブランチを作成しました(https://github.com/SeeSpotRun/rmlint/tree/feature/uniques)。
試してみたい場合は、次のようにインストールする必要があります。
- 依存関係がまだない場合はインストールします。
$ sudo apt-get install git scons python3-sphinx python3-nose gettext build-essential
$ sudo apt-get install libelf-dev libglib2.0-dev libblkid-dev libjson-glib-1.0 libjson-glib-dev
- テスト ブランチ ソースを取得します。
$ cd ~
$ git clone -b feature/uniques https://github.com/SeeSpotRun/rmlint.git
$ cd rmlint/
- コンパイルして(オプションで)インストールします。
$ scons config
$ scons DEBUG=1 -j4
$ sudo scons DEBUG=1 -j4 --prefix=/usr install
$ # (if you skip the install step then replace 'rmlint' with './rmlint' below)
- 一意のファイルを検索します (何も削除しません):
$ # this will display unique files on your screen:
$ rmlint -o uniques path/to/your/files
$ # or use either of the following to write a list of unique files to unique.txt:
$ rmlint -o uniques:unique.txt path/to/your/files
$ rmlint -o uniques path/to/your/files > unique.txt
dir2
その中のファイルのリストが欲しい場合はしない双子を産むdir1
ことができる鬼ごっこdir2 を//
区切り文字として使用し、コマンドに
-k
(または) を追加します。--keep-all-tagged
$ rmlint -k -o uniques dir1 // dir2
(dir2 に同一のファイルが 2 つあるが、dir1 にそのコピーがない場合でも、最後の例ではそれらは「一意」としてリストされることに注意してください)
- どうだったか教えてください。問題や提案があれば、こちらか問題ログ
上記の例では、名前は異なるが内容は同じである2つのファイルがある場合、ないユニークとしてフラグが付けられます。するこれらを一意としてフラグ付けするには、コマンド ラインに-b
または を追加します。--match-basename
md5 sumsなどに関して:rmlintはSHA-1デフォルトでは、md5よりも約40億倍強力です。これをアップグレードすると、512ハッシュコマンドラインに追加することで-p
、または代わりに追加することでバイトごとの比較を行うこともできます-pp
(ただし、これにより RAM が少し多く消費されます)。