Odpowiedzi:
Jeśli poprawnie czytam Twoje wymagania, nie ma plików, które można przejść foo
do bar
. Wygląda na to, że możesz po prostu skopiować zawartość bar
do foo
, pozwalając na zastąpienie plików w razie potrzeby (jest to domyślne zachowanie).
$ cp -R /path/to/bar/* /path/to/foo
cp -R /path/to/bar /path/to/foo
, utworzyłby katalog bar
wewnątrz foo
. 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ów foo
. W tym przypadku:
$ cp -R -n /path/to/bar/* /path/to/foo/
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
man cp
-> -u, --update: kopiuj tylko wtedy, gdy plik SOURCE jest nowszy niż plik docelowy lub gdy brakuje pliku docelowego