diffコマンドを組み合わせて、デュペ間の最終変更を表示しようとしています


0

私は少しユニークなことをしようとしていますが、使用する適切な端末コマンドラインが見つかりません。

私は本質的に次の問題を解決しようとしています:

別のサーバーに存在する2つのボリュームのデータがあります。これらのボリュームには、おそらく多くの重複ファイルがあります。ただし、これらのサーバーの性質上、それぞれが独自のエッジケースであるため、プログラムで何も削除することはできません。したがって、2つのボリューム間の重複を見つけ、2つのボリュームのどちらに「最新かつ最大の」最終変更バージョンのデュープがあるかを整理し、それぞれを手動で調査する必要があります。

簡単にするために、ボリュームを「Folder1」および「Folder2」と呼ぶだけです

私のMacマシンのターミナルからここまで到達しました:

diff -rs /Folder1 /Folder2 > diff-test1.txt 

これにより、2つの間の重複のIDがわかりますが、どのボリュームに「最新かつ最大の」ボリュームがあるかはわかりません。誰でも助けることができますか?

回答:


0

rsync --dry-run単一ではなく2つのコマンドを使用しますdiff。たとえば、5つのファイルがあり、そのうちのいくつかはより新しいものでFolder1あり、いくつかはより新しいものであるFolder2場合、

$ ls -port Folder?/*/*
-rw-r--r--  1 Deditos   0 25 Jan 12:39 Folder2/subfolder/file03.txt
-rw-r--r--  1 Deditos   0 25 Jan 12:39 Folder2/subfolder/file02.txt
-rw-r--r--  1 Deditos   0 25 Jan 12:39 Folder2/subfolder/file01.txt
-rw-r--r--  1 Deditos   0 25 Jan 12:39 Folder1/subfolder/file05.txt
-rw-r--r--  1 Deditos   0 25 Jan 12:39 Folder1/subfolder/file04.txt
-rw-r--r--  1 Deditos   0 25 Jan 12:39 Folder1/subfolder/file03.txt
-rw-r--r--  1 Deditos  29 25 Jan 12:44 Folder1/subfolder/file01.txt
-rw-r--r--  1 Deditos  29 25 Jan 12:44 Folder1/subfolder/file02.txt
-rw-r--r--  1 Deditos  29 25 Jan 13:13 Folder2/subfolder/file04.txt
-rw-r--r--  1 Deditos  29 25 Jan 13:13 Folder2/subfolder/file05.txt

rsync [SRC] [DEST]コピー元ディレクトリからコピーするものをチェックして、コピー先ディレクトリを更新できます。

$ rsync --dry-run -ariu ./Folder1/ ./Folder2/
.d..t.... ./
.d..t.... subfolder/
>f.st.... subfolder/file01.txt
>f.st.... subfolder/file02.txt
$ rsync --dry-run -ariu ./Folder2/ ./Folder1/
.d..t.... ./
.d..t.... subfolder/
>f.st.... subfolder/file04.txt
>f.st.... subfolder/file05.txt

これにより、ファイル間の差異の性質に関する情報も得られます。たとえば、>f.st....サイズ(s)とタイムスタンプ(t)が異なることを意味します。

注:--dry-runフラグを省略すると、rsync実際に転送が試行されるため、注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.