Відповіді:
Якщо я читаю ваші вимоги правильно, немає ніяких файлів , які йдуть від fooдо bar. Схоже, ви можете просто скопіювати вміст barдо foo, дозволяючи йому перезаписувати файли за необхідності (поведінка за замовчуванням).
$ cp -R /path/to/bar/* /path/to/foo
cp -R /path/to/bar /path/to/fooце зробили, це створило б каталог barвсередині foo. Тонка точка.
bar(тобто з іменами, що починаються з крапки - .) через те, як працює глобальна оболонка.
У мене була дуже схожа потреба: об'єднатись 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
-у, --оновіть
копію лише тоді, коли файл ДЖЕРЕЛА новіший за цільовим файлом або коли у файлі призначення відсутній
-R, -r, --рекурсивні каталоги копіювання рекурсивно
man cp -> -u, --оновлення: копіюйте лише тоді, коли файл SOURCE новіший, ніж цільовий файл, або коли файл відсутній,