从linux中的文件名文本列表批量复制文件

时间:2016-11-20 17:29:44

标签: linux terminal

我在文本文件中有以下格式的图像列表:

abc.jpg
xyz.jpg

该列表包含特定目录中各种目录中的大约一百个图像。我想创建一个shell脚本,找到并将这些文件复制到指定的目录中。

这个脚本能否适应我的需要? Copy list of file names from multiple directories

1 个答案:

答案 0 :(得分:2)

你不需要一个脚本,一个简单的oneliner会做: (假设您执行命令的完整文件路径或相对文件路径是在每个图像的your_file.txt文件中写入的)

cat your_file.txt | xargs find path_to_root_dir -name | xargs -I{} cp {} specfic_directory/

xargs将占用多行并使用-I的输入运行您给它的命令-I您可以指定一个变量,其中行的内容放在命令中(默认位于结尾)。

因此,这将占用您文件中的每一行,在path_to_root_dir的所有子目录中搜索文件,然后进行复制。