制作特定文件的 N 个副本的快速方法有哪些?

制作特定文件的 N 个副本的快速方法有哪些?

比如说,如果我想复制Na.txt并希望将它们编号为a1.txta2.txta3.txt等...

我该如何简洁地做这样的事情?

答案1

cp它本身一次只能制作一个副本(单个文件),但使用快速循环并不太困难:

for i in {1..10}; do cp a.txt a$i.txt; done

答案2

假设您的 bash 变量中有 N 值:

for i in `seq 1 $N`; do cp a.txt a$i.txt; done

或者

for ((i=1;i<=$N;i++)); do cp a.txt a$i.txt; done

或者用凯文的答案中显示的循环。

答案3

使用的解决方案cp效率有些低,因为您不需要读取相同的文件N时间来制作N副本。可以使用tee

cat a.txt | ( for i in `seq 1 $N`; do echo a"$i".txt; done | xargs tee )

答案4

如果你想要一些更时髦的东西,你可以这样做 for t in $(seq --format="funky-%03.0f-numbered.txt" 25 3 40); do cp orig $t; done

相关内容