Files

比較兩個不同目錄中的現有文件,如果不存在則複製,否則覆蓋它

  • December 15, 2018

我正在嘗試建構一個腳本來比較不同 2 目錄中的文件,然後將它們從 dir1 複製到 dir2,如果它在 dir2 中不存在,或者如果它已經存在則覆蓋它。

我知道我可以使用diff dir1 dir2,但是如何將結果復製到 dir2。因為diff命令給了我這樣的結果only in dir1: file1.txt,據我所知,這不是文件本身(對嗎?)

對於覆蓋部分,我決定使用[ -ot ]命令,但同樣,據我了解, [ -ot ]只能與文件比較,但不能與目錄比較?

rsync在本地工作並對文件時間戳和文件大小進行測試。

rsync --archive /path/to/source/ /path/to/destination/

您也可以rsync在單個文件上使用。

為什麼不cp呢?

\cp -f /path/to/dir1/* /path/to/dir2/

引用自:https://unix.stackexchange.com/questions/394897