我有一个文本文件中的图像列表,格式如下:
abc.jpg
xyz.jpg
Run Code Online (Sandbox Code Playgroud)
该列表包含特定目录内各个目录中的大约一百个图像。我想创建一个 shell 脚本来查找这些文件并将其复制到指定的目录中。
这个脚本可以适应我的需要吗? 从多个目录复制文件名列表
您不需要为此编写脚本,一个简单的 oneliner 即可:(假设完整文件路径或执行命令的相对文件路径写入每个图像的 your_file.txt 文件中)
cat your_file.txt | xargs find path_to_root_dir -name | xargs -I{} cp {} specfic_directory/
Run Code Online (Sandbox Code Playgroud)
xargs 将采用多行并运行您给它的命令,并使用每行的输入 -I 您可以指定一个变量,用于该行的内容放置在命令中的位置(默认位于末尾)。
因此,这将从文件中获取每一行,在 path_to_root_dir 的所有子目录中搜索文件,然后进行复制。