将文件从列表复制到文件夹

时间:2013-12-22 08:55:20

标签: linux file shell

我有一个文本文件abc.txt,它的内容是,

    /lag/cnn/org/one.txt
   /lag/cnn/org/two.txt
   /lag/cnn/org/three.txt

如果我使用,

tar -cvf allfiles.tar -T abc.txt

我正在获取列表中文件的tar。同样可以将abc.txt中的这些文件复制到文件夹中。

我试过了,

  cp --files-from test1.txt ./Folder

但它不起作用。请帮忙

4 个答案:

答案 0 :(得分:0)

例如,您可以使用xargs,或者在循环中执行此操作:

while read FILE; do cp "$FILE" ./Folder; done <test1.txt

答案 1 :(得分:0)

你可以写:

while IFS= read -r FILENAME ; do
    cp -- "$FILENAME" ./Folder || break
done < test1.txt

循环遍历文件的行,将每行读入变量FILENAME,并为每个行运行cp

答案 2 :(得分:0)

您可以使用xargs

cat test1.txt | xargs -I{} cp {} ./Folder

为了避免Useless use of cat,您可以说:

xargs -a test1.txt -I{} cp {} ./Folder

答案 3 :(得分:0)

您可以使用tar cvf -将tar写入stdout并将其直接传送到tar xvfC - Folder