Unix: как объединить два каталога

скажем, у меня есть две папки с различным содержимым, foo и bar. Как я могу объединить bar на foo Так что:

  • файлы foo, не bar не трогают.
  • файлы bar, не foo сейчас foo.
  • файлы foo, которые также находятся в bar были заменены на файлы bar.
30
задан coneslayer
15.02.2023 11:31 Количество просмотров материала 3140
Распечатать страницу

3 ответа

если я читаю ваши требования правильно, нет файлов, которые идут от foo до bar. Похоже, вы можете просто скопировать содержимое bar до foo, позволяя ему перезаписывать файлы по мере необходимости (его поведение по умолчанию).

$ cp -R /path/to/bar/* /path/to/foo
24
отвечен coneslayer 2023-02-16 19:19

у меня была очень похожая потребность: merge bar на foo но файлы, которые находятся в bar не должен перезаписать соответствующие файлы в foo. В этом случае:

$ cp -R -n /path/to/bar/* /path/to/foo/
9
отвечен Joel Aufrecht 2023-02-16 21:36

попробуйте это :

$ cp -r-u-v /path/to/foo/* /path/to/bar/

С man cp

- u, --update копировать только в том случае, если исходный файл новее конечного файла или если конечный файл отсутствует

- R, - r, --recursive копировать каталоги рекурсивно

1
отвечен drew7721 2023-02-16 23:53

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх