使用终端多次复制文件并根据.txt文件的内容重命名文件

使用终端多次复制文件并根据.txt文件的内容重命名文件

我的文件夹中有一个名为 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

相关内容