文書の古いバックアップがあります。現在のDocuments
ディレクトリには、これらのファイルの多くがさまざまな名前の異なる場所に存在しています。バックアップにどのファイルが存在するかnotがDocuments
ディレクトリに存在するか、できればNiceとGUI-yを表示する方法を見つけようとしています。ドキュメントのlotを簡単に概観できます。
この質問を検索するとき、多くの人が反対の方法を探しています。 FSlint や DupeGur のようなツールがありますが、重複が表示されます。反転モードはありません。
CLIを使用する準備ができている場合は、次のコマンドが機能します。
diff --brief -r backup/ documents/
これにより、各フォルダーに固有のファイルが表示されます。必要に応じて、--ignore-file-name-case
でファイル名のケースを無視することもできます
例として:
ron@ron:~/test$ ls backup/
file1 file2 file3 file4 file5
ron@ron:~/test$ ls documents/
file4 file5 file6 file7 file8
ron@ron:~/test$ diff backup/ documents/
Only in backup/: file1
Only in backup/: file2
Only in backup/: file3
Only in documents/: file6
Only in documents/: file7
Only in documents/: file8
ron@ron:~/test$ diff backup/ documents/ | grep "Only in backup"
Only in backup/: file1
Only in backup/: file2
Only in backup/: file3
さらに、ファイルが異なる場合にのみ報告する(実際の「差異」を報告しない)場合は、次のように--brief
オプションを使用できます。
ron@ron:~/test$ cat backup/file5
one
ron@ron:~/test$ cat documents/file5
ron@ron:~/test$ diff --brief backup/ documents/
Only in backup/: file1
Only in backup/: file2
Only in backup/: file3
Files backup/file5 and documents/file5 differ
Only in documents/: file6
Only in documents/: file7
Only in documents/: file8
同じことを行うことができるmeld
などの視覚的な差分ツールがいくつかあります。次の方法で、ユニバースリポジトリからmeld
をインストールできます。
Sudo apt-get install meld
「ディレクトリ比較」オプションを使用します。比較するフォルダーを選択します。選択後、それらを並べて比較できます。
fdupes
は重複ファイルを見つけるのに最適なプログラムですが、重複していないファイルはリストしません。これは探しているものです。ただし、fdupes
とfind
の組み合わせを使用して、grep
出力にないファイルをリストできます。
次の例は、backup
に固有のファイルをリストします。
ron@ron:~$ tree backup/ documents/
backup/
├── crontab
├── dir1
│ └── du.txt
├── lo.txt
├── ls.txt
├── lu.txt
└── notes.txt
documents/
├── du.txt
├── lo-renamed.txt
├── ls.txt
└── lu.txt
1 directory, 10 files
ron@ron:~$ fdupes -r backup/ documents/ > dup.txt
ron@ron:~$ find backup/ -type f | grep -Fxvf dup.txt
backup/crontab
backup/notes.txt
古いバックアップを異なる名前の異なるディレクトリにアーカイブされた数千のファイルとマージする最適なワークフローは、結局 DupeGuru を使用することだと考えました。 duplicatesタブ FSlint によく似ていますが、 'としてソースを追加するという非常に重要な機能があります参照」。
~/Documents
)をreferenceとして追加します。古いバックアップディレクトリが複数ある場合は、最初にこのような最新のバックアップディレクトリをマージしてから、このバックアップディレクトリをreferenceとして使用して、マージする前に古いバックアップから重複を削除しますそれらをメインのドキュメントディレクトリに移動します。これにより、バックアップからマージする代わりにゴミ箱に入れたい一意のファイルを削除する必要のないlotの作業が安全になります。
プロセスで古いバックアップをすべて破棄した後、忘れずに新しいバックアップを作成してください。 :)