我在文本文件中有以下格式的图像列表:
abc.jpg
xyz.jpg
该列表包含特定目录中各种目录中的大约一百个图像。我想创建一个shell脚本,找到并将这些文件复制到指定的目录中。
这个脚本能否适应我的需要? Copy list of file names from multiple directories
答案 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的所有子目录中搜索文件,然后进行复制。