我假设您在 的文件中拥有姓名列表/path/to/target_names。
要制作副本,请打开终端并cd进入包含该文件的目录。然后运行
for i in $( </path/to/target_names tr -d ',' ); do cp grey.png ${i}; done
Run Code Online (Sandbox Code Playgroud)
您可以使用符号链接来代替复制(这会将所需的大小乘以新文件的数量),其中每个新文件都引用原始文件,而不复制它。
for i in $( </path/to/target_names tr -d ',' ); do ln -s grey.png ${i}; done
Run Code Online (Sandbox Code Playgroud)
请注意,如果您使用符号链接,则稍后将无法更改原始路径和目标的相对路径。即它们必须保留在同一目录中。(如果您愿意,可以使用原始命令为替代目录创建符号链接。)
假设您有names.txt包含所有这些图像名称的文件。
为副本创建一个新文件夹:
mkdir copies
Run Code Online (Sandbox Code Playgroud)
现在做一个小测试。这应该输出所有文件名
for name in `sed -r 's/,/\n/g;s/ *//g' names.txt`; do echo $name; done
Run Code Online (Sandbox Code Playgroud)
如果这工作正常,请执行下一步。
最后复制到copies文件夹。names.txt我想您在和 文件夹所在的文件夹中执行此操作copies。
for name in `sed -r 's/,/\n/g;s/ *//g' names.txt`; do cp grey.png copies/$name; done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |