たとえば、foo
とbar
という2つのフォルダにさまざまなコンテンツがあるとします。 bar
をfoo
にマージするにはどうすればよいですか。
foo
にないbar
内のファイルは変更されません。bar
にないfoo
内のファイルはfoo
にあります。foo
内のbar
内のファイルも、bar
のファイルに置き換えられました。要件を正しく読んでいる場合、foo
からbar
に至るファイルはありません。 bar
の内容をfoo
にコピーするだけで、必要に応じてファイルを上書きできるように見えます(デフォルトの動作)。
$ cp -R /path/to/bar/* /path/to/foo
私も非常によく似たニーズがありました。bar
をfoo
にマージしますが、bar
にあるファイルはfoo
の一致するファイルを上書きしないでください。この場合:
_$ cp -R -n /path/to/bar/* /path/to/foo/
_
これを試して :
$ cp -r
-u
-v /path/to/foo/* /path/to/bar/
man cp
から
-u、--update SOURCEファイルが宛先ファイルよりも新しい場合、または宛先ファイルがありません
-R、-r、--recursiveディレクトリを再帰的にコピー