fredrsf
@fredrsf
Веб-разработчик (Symfony)

Как рекурсивно скопировать файлы из списка в Linux?

Существует такая проблема. Есть много папок и файлов и часть из них под .svn. Необходимо скопировать сохраняя структуру в отдельную папку только файлы и папки которые под .svn. Для получения списка файлов и папок под svn использую команду svn list > ~/file.txt . Как вот только из этого списка получить структуру файлов и папок?
  • Вопрос задан
  • 3932 просмотра
Решения вопроса 1
sledopit
@sledopit
Поскольку необходимо сохранить структуру директорий, то не стоит забывать про опцию --parents, иначе получится каша "всё-в-одной-директории".
svn list | xargs -I % cp --parents -v % target
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
$ cat list.txt
one
two.txt
three.rtf

$ cat list.txt | xargs -J % echo cp % new_folder
cp one two.txt three.rtf new_folder

$ cat list.txt | xargs -I % echo cp % new_folder
cp one new_folder
cp two.txt new_folder
cp three.rtf new_folder
Ответ написан
fredrsf
@fredrsf Автор вопроса
Веб-разработчик (Symfony)
Я сделал svn list -R | xargs -I % cp --parents -v % target, но папки пропускаются с сообщениями cp: omitting directory 'directory' если же указать
svn list -R | xargs -I % cp -r --parents -v % target
, то cp начинает копировать все и папки .svn в том числе
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы