
比如說,如果我想複製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
: