2つの異なるディレクトリにあるファイルを比較し、ファイルがdir2にない場合はdir1からdir2にコピーし、すでに存在する場合は上書きするスクリプトを作成しようとします。
使用できることはわかっていますが、diff dir1 dir2
結果をdir2にどのようにコピーしますか?diff
このコマンドは同様の結果を提供するので、only in dir1: file1.txt
私が知っている限り、ファイル自体ではありません(正しいですか?)
カバレッジ部分ではコマンドを使用することにしましたが、[ -ot ]
もう一度理解すると、 [ -ot ]
ファイルとのみ比較でき、ディレクトリは比較できませんか?
答え1
rsync
ローカルで作業し、ファイルのタイムスタンプとファイルサイズをテストします。
rsync --archive /path/to/source/ /path/to/destination/
rsync
単一のファイルにも使用できます。
答え2
なぜダメなのcp
?
\cp -f /path/to/dir1/* /path/to/dir2/