Найти и скопировать файлы, содержащиеся в путях в текстовом файле - PullRequest
0 голосов
/ 14 ноября 2011

У нас есть файл paths.txt, который содержит имена конкретных файлов в папке.asd/fold2/some.txt<br> asd/fold2/some/tr6/ok.txt И нам нужно скопировать все файлы, перечисленные в paths.txt, в новую папку.Моя проблема не в том, как скопировать или переместить эти файлы, а в том, как именно я могу найти поиск и, наконец, получить, чтобы переместить или скопировать их или что-то еще.

Ответы [ 3 ]

3 голосов
/ 15 ноября 2011

Вы можете использовать опции -a и -I xargs, чтобы сделать это:

xargs -a files.txt -I __FILENAME__ cp __FILENAME__ dest

Пояснение:

  • -a: чтение элементов из файла вместо стандартного ввода.
  • -I: замена вхождений replace-str (в данном случае __FILENAME__) в исходных аргументах именами, считанными из стандартного ввода.
2 голосов
/ 14 ноября 2011

Без проверки на дубликаты имен, это может быть так же просто, как

cp $(<paths.txt) new_folder/
2 голосов
/ 14 ноября 2011

Вы хотите, чтобы:

#!/bin/sh 
# usage : script.sh paths.txt destination
[ -f $1 ] || exit
[ -d $2 ] || exit

while read file
do
   cp $file $2
   echo "cp $file $2"
done < $1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...