从一对文本列表中将文件复制到文件

时间:2014-04-25 00:54:06

标签: bash shell sh

我的档案包括:

a.txt b.txt
c.txt d.txt
e.txt f.txt

想要cp a.txt b.txtcp c.txt d.txtcp e.txt f.txt

快速的oneliner是做什么的? 我试试cat file | xargs -I{} cp {}。但它不起作用,因为它将整个事物视为一个论点。

2 个答案:

答案 0 :(得分:1)

请勿拨打您的文件file

cat list | xargs -n 2 cp

此处切换-n 2至关重要:它告诉xargs每行使用最多2个参数

答案 1 :(得分:0)

为什么不定期循环?

while read -r file1 file2 ; do
  cp -- "$file1" "$file2";
done < file