我如何从一个文件创建多个文件?例如,我有1.json
,但想从中创建2.json
++ 。3.json
4.json
最明显的方法就是等等cp 1.json 2.json
;但是 Linux 是否提供了一些方法可以在一个命令中完成此操作?
答案1
您可以使用 for 循环:
for i in {2..4} ; do cp 1.json "$i".json ; done
您还可以使用tee
:
cat 1.json | tee {2,3}.json > 4.json
您也可以不使用括号,而只列出名称:
for i in 2 3 4 ; do cp 1.json "$i".json ; done
cat 1.json | tee 2.json 3.json > 4.json
答案2
考虑与原始文件建立硬链接;这是您可以进行的最快复制。每个副本还会“复制”您对原始文件所做的任何更改。
$ mkdir z $ cd z $ ls $ echo >1 "文件 1 的内容" 美元 ln 1 2 $猫2 文件 1 的内容 美元 ln 1 3 $ ls -lh 共 12K -rw-rw-r-- 3 hannu hannu 18 六月 15 22:34 1 -rw-rw-r-- 3 hannu hannu 18 六月 15 22:34 2 -rw-rw-r-- 3 hannu hannu 18 六月 15 22:34 3 $猫3 文件 1 的内容 $ echo >>2 "文件 2 的内容" $ 猫 1 2 3 文件 1 的内容 文件 2 的内容 文件 1 的内容 文件 2 的内容 文件 1 的内容 文件 2 的内容 $ echo >>3 "文件 3 的内容" $猫1 文件 1 的内容 文件 2 的内容 文件 3 的内容 1令吉 $猫3 文件 1 的内容 文件 2 的内容 文件 3 的内容 $猫2 文件 1 的内容 文件 2 的内容 文件 3 的内容 2令吉 $猫3 文件 1 的内容 文件 2 的内容 文件 3 的内容 3令吉 $ ls -lA 共 0 $ CD.. $ rm -rf z $
更多信息:$ man ln
和https://en.wikipedia.org/wiki/Hard_link