如何将一个文件复制到多个文件名?

如何将一个文件复制到多个文件名?

该命令touch {jan,feb,mar}-{Rep.xls,graph.xls}创建了我无法打开的文件:

feb-graph.xls jan-Rep.xls feb-Rep.xls mar-graph.xls jan-graph.xls mar-Rep.xls

因此我创建了一个模板文件1.ods,并用 OO-Calc 保存。然后我尝试cp以相同的方式再次复制此文件cp

cp 1.ods {jan,feb,mar}{Rep.ods,graph.ods}  

但那不起作用:

cp:目标“margraph.ods”不是目录

如何将单个文件复制到多个文件?

答案1

结合cat(检索文件的内容)和tee(将内容写入参数中指定的文件):

cat 1.ods | tee {jan,feb,mar}-{Rep,graph}.ods >/dev/null

使用 shell 重定向的替代方法:

tee {jan,feb,mar}-{Rep,graph}.ods >/dev/null < 1.ods

在这两种情况下,> /dev/null都是丢弃重复内容的重定向(tee将其输入写入每个参数和标准输出)。

答案2

怎么样,

对于 {jan,feb,mar}-{Rep.xls,graph.xls} 中的文件
  cp 1.ods $文件
完毕

相关内容