复制文本文件(linux)中指定的目录中的少量文件

时间:2013-08-14 23:21:42

标签: linux bash

我有一个名为images的目录 它包含许多图像。 例如:

images/
    imag001.png
    imag002.png
    imag003.png
    imag004.png

我有一个文本文件,其中包含我想要复制到其他地方的文件。假设test.txt文件有

img001.png
img003.png

如何将images.txt中指定的文件从images文件夹复制到其他地方?

5 个答案:

答案 0 :(得分:1)

images目录下尝试这个单行:

awk '{print "cp "$0" /target/path"}' test.txt|sh

答案 1 :(得分:0)

我认为在bash shell中你可以做到:

for image in $(cat copylist.txt); do
    cp $image destination
done

答案 2 :(得分:0)

你可以写:

while IFS= read -r image_filename ; do
    cp images/"$image_filename" some_other_place/
done < test.txt

答案 3 :(得分:0)

这个问题可能有很多解决方案。我会通过使用xargs来实现:

cd images/
cat path/to/test.txt | xargs -I FILES cp FILES path/to/dest/

答案 4 :(得分:0)

 cat copylist.txt  | xargs -n1 -I %  echo cp   % destination/.
 # remove echo after testing