fix20152
@fix20152
javascript developer

Как скопировать данные по папкам сохраняя иерархию папок(ubuntu)?

Всем привет.
Задача скопировать измененные файлы в отдельную папку.
Для этого я получаю файлы которые мне нужно скопировать через гит git diff --name-status branch1 branch2
M       web-app/templates/path1/file1.html
M       web-app/templates/path1/file2.html
M       web-app/templates/path1/file3.html
M       web-app/templates/path1/file4.html
M       web-app/templates/modals/file.html

и теперь их нужно скопировать в отдельную папку deploy
deploy/web-app/templates/path1/file1.html
deploy/web-app/templates/path1/file2.html
deploy/web-app/templates/path1/file3.html
deploy/web-app/templates/path1/file4.html
deploy/web-app/templates/modals/file.html

Может кто знает как разбросать эти файлы так?
  • Вопрос задан
  • 2303 просмотра
Пригласить эксперта
Ответы на вопрос 2
merryjane
@merryjane
Системный администратор
Можно конечно написать скрипт на баше, а можно просто подать список нужных файлов в tar, как-то так:
stackoverflow.com/questions/8033857/tar-archiving-...
Ответ написан
spitty
@spitty
System performance engineer in NetCracker
Можно использовать вот такой однострочник для копирования
for file in $( git diff --name-status branch1 branch2 | cut -f 2 ); do cp $file deploy/$file; done;

cut "вырежет" из строк второе поле, содержащее относительный путь до файла.
for будет в цикле проходить по полученным file и выполнять cp.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы