Linux скопировать файлы из текстового файла

Есть файл listfile.txt со списком файлов, необходимо скопировать файлы указанные в этом файле:

Решение 1:

cp `cat listfile.txt` /home/username/tmp/

Если имена файлов проблемные, то надо их в списке экранировать.

Решение 2:

Создадим скрипт:

#!/bin/bash
# первый параметр это имя файла со списком
# второй параметр это путь назначения
# IFS нужно поменять на всякий случай если в именах файлов есть пробелы, а то чтение будет не по строкам, а по пробелам
t=$IFS
IFS=$'\n'
while read line
do
  cp $line $2
done < "$1"
IFS=$t

Обозвать этот файл к примеру cplist, и консолировать:

cplist ~/listfile.txt ~/куда/надо/копировать

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *