erv*_*gsb 18 linux bash zsh zero-pad seq
在zsh中,当我必须使用zsh创建一堆文件时,我通常会执行以下操作:
for x in $(seq 1 1000); do .....; done
Run Code Online (Sandbox Code Playgroud)
这工作得很好,它给我的文件与名foo-1.txt.. foo-1000.txt.
但是,这些文件不排序很好,所以我想零垫的$x变量,从而产生的名称foo-0001.txt.. foo-1000.txt.
如何在zsh中这样做?(和奖金问题,如何在bash中做到这一点?)
Fra*_*sco 21
为了便于参考,如果您无法控制数值的生成,可以使用以下命令进行填充:
% value=314
% echo ${(l:10::0:)value}
0000000314
% echo $value
314
Run Code Online (Sandbox Code Playgroud)
Mat*_*Mat 14
使用-w标志seq(在任何shell中):
$ seq -w 1 10
01
02
03
04
05
06
07
08
09
10
Run Code Online (Sandbox Code Playgroud)
gle*_*man 10
你可以使用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
Run Code Online (Sandbox Code Playgroud)
也适用于zsh.
| 归档时间: |
|
| 查看次数: |
2984 次 |
| 最近记录: |