Powiedzmy, że mam dwa foldery z różnymi treściami foo
i bar
. Jak mogę połączyć bar
się foo
więc, że:
- Pliki
foo
, których niebar
ma, są nietknięte. - Pliki
bar
, których nie ma w,foo
są teraz wfoo
. - Pliki w
foo
tym równieżbar
zostały zastąpione plikami zbar
.
unix
shell
file-management
Svish
źródło
źródło
cp -R /path/to/bar /path/to/foo
, utworzyłby katalogbar
wewnątrzfoo
. Subtelny punkt.bar
(tj. O nazwach rozpoczynających się od kropki -.
) z powodu działania globowania powłoki.Miałem bardzo podobną potrzebę: scalić
bar
się,foo
ale pliki, które są,bar
nie powinny zastępować pasujących plikówfoo
. W tym przypadku:źródło
Spróbuj tego :
$ cp -r
-u
-v /path/to/foo/* /path/to/bar/
Z
man cp
-u, --aktualizuj kopię tylko wtedy, gdy plik SOURCE jest nowszy niż plik docelowy lub gdy brakuje pliku docelowego
-R, -r, - rekurencyjne katalogi kopii rekurencyjnie
źródło
man cp
-> -u, --update: kopiuj tylko wtedy, gdy plik SOURCE jest nowszy niż plik docelowy lub gdy brakuje pliku docelowego