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

标签 linux terminal

我有一个文本文件中的图像列表,格式如下:

abc.jpg
xyz.jpg

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

这个脚本可以适应我的需要吗? Copy list of file names from multiple directories

最佳答案

您不需要为此编写脚本,一个简单的 oneliner 即可: (假设每个图像的完整文件路径或执行命令的相对文件路径都写入 your_file.txt 文件中)

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

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

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

关于linux - 从Linux中的文件名文本列表中批量复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40707085/

相关文章:

linux - 无法在 Unix 中捕获 SIGQUIT 信号

linux - 在 Linux 上缺少 modversions.h

bash - 需要帮助使用 sed 编辑文件

python - 捕获通过 gunicorn 运行的 python 标准输出

c - 将变量传递给 popen 命令

linux - Linux下增量备份MySQL Workbench的脚本

java - 无法在redhat中将tomcat作为服务启动

python - Windows 和 Linux 之间的 WxPython 差异

bash - 如何在 Bash 变量中添加带空格的路径

ubuntu - 在 Linux 终端中使用 find 和脚本提取数据