исходный и целевой путь для команды копирования в один файл, тогда как копировать?

У меня есть единственный файл, который содержит пути к исходным файлам и пути к файлам назначения.

пример

$ cat test.txt
/home/data/source.txt   /home/code/destination.txt
/home/abc/def.txt   /home/mnp/xyz.txt

Здесь я хочу скопировать /home/data/source.txt в /home/code/destination.txt (cp / home / data / source. txt /home/code/destination.txt)

У меня так много исходного и целевого пути в одном файле

Поэтому мне нужна команда, с помощью которой я могу скопировать файл с исходного пути на целевой.

Спасибо.

0
13.03.2017, 16:50
2 ответа

Вот идея:

  • сделайте копию вашего файла: cp test.txt test.sh
  • поставьте cp в начале каждой строки: sed -i 's/^/cp / test.sh
  • сделайте файл исполняемым: chmod +x test.sh
  • выполнить файл: ./test.sh
1
28.01.2020, 02:34
cat test.txt | xargs -L 1 cp -v

where:

  • test. txt - ваш входной файл
  • xargs -L 1 перечислит строки одну за другой и выполнит
  • cp - команда copy
  • -v - для наглядности и для проверки
1
28.01.2020, 02:34

Теги

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