28

zsh では、zsh で大量のファイルを作成する必要がある場合、通常は次のようにします。

for x in $(seq 1 1000); do .....; done

これは問題なく動作し、foo-1.txt..という名前のファイルが表示されますfoo-1000.txt。ただし、これらのファイルはうまくソートされないため、変数をゼロで埋めて..の名前を生成し
たいと思います。$xfoo-0001.txtfoo-1000.txt

zshでそれを行う方法は?(そしておまけの質問、bashでそれを行う方法は?)

4

6 に答える 6

17

-wフラグを使用してseq(任意のシェルで):

$ seq -w 1 10
01
02
03
04
05
06
07
08
09
10
于 2012-03-15T08:22:51.357 に答える
11

bash のブレース展開を使用できます。

$ for n in file-{0001..1000}.txt; do echo $n; done
file-0001.txt
file-0002.txt
file-0003.txt
file-0004.txt
file-0005.txt
file-0006.txt
file-0007.txt
file-0008.txt
file-0009.txt
file-0010.txt
...
file-0998.txt
file-0999.txt
file-1000.txt

zshでも動作します。

于 2012-03-15T11:16:47.340 に答える
1

bash で動作します (zsh については不明):

echo foo{0000-1000}.txt 
于 2012-03-15T11:17:03.140 に答える