比如说,如果我想复制N
,a.txt
并希望将它们编号为a1.txt
、a2.txt
、a3.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
: