Ответы:
Если я читаю ваши требования правильно, нет никаких файлов , которые идут от 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
-u, --update
копировать только в том случае, если файл SOURCE новее, чем целевой файл, или если в конечном файле отсутствуют рекурсивные каталоги
-R, -r, --recursive.
man cp -> -u, --update: копировать, только если файл SOURCE новее, чем файл назначения, или когда файл назначения отсутствует