で、そのファイル名がdir1
同じすべてのファイルを見つけて 。dir2
dir2
たとえば、
dir1: first.txt second.txt
dir2: third.txt first.txt
だからdir1
古いファイルを削除first.txt
します。first.txt
dir2
Bash端末を使用してこれをどのように達成できますか?
答え1
実際には、目的のタスクを正確に実行するコマンドがあります。
rsync -av --existing dir2/ dir1/
ファイルがdir1にすでに存在する場合にのみ、dir2からdir1にファイルを繰り返しコピーします。
これらの-av
オプションは、rsyncを使用してファイルをコピーするために通常使用されるオプションです。
この--existing
オプションは、rsync
シンクで新しいファイル生成をスキップするように指示します。
rsync
ほとんどのコマンドでは、スラッシュはrsyncとは異なる動作をするため、コマンドラインのdir2 /に末尾のスラッシュを追加する必要があります。
rsync
と同様に、Web経由でも使用できますscp
。
rsync
さまざまな種類のファイルの同期、更新、およびバックアップ操作を処理できます。
答え2
rsyncは--existing
次のオプションを使用してこれを実行できます。
rsync -v --existing dir2/* dir1/