我的文件夹中有一个名为 template.indd 的文件。我想在同一文件夹中制作该文件的多个副本(数百个),但使用文本文件中包含的名称重命名每个副本。文本文件中的名称是随机的、不连续的,并且以空格分隔。
我在 Mac OSX 版本 10.6.8 中使用终端。
有没有办法做到这一点?
答案1
xargs
解决方案
Gnu 猛击:
xargs -a file.txt -n 1 cp template.indd
在 Mac 上(谢谢@Stéphane Chazelas)
xargs -n 1 < file.txt cp template.indd
解释
-a
(--arg-file
):从文件中读取项目(仅限 GNU Bash)<
非 GNU 替代品-a
-n 1
(--max-args
):每次运行仅添加一项cp template.indd
:命令 xargs 运行时添加了项目
答案2
试试这个,file.txt
包含文件名的文件在哪里:
for file in $(cat file.txt);do cp template.indd "${file}";done