代码之家  ›  专栏  ›  技术社区  ›  zjffdu

Linux变量扩展问题

  •  3
  • zjffdu  · 技术社区  · 15 年前

    我想要一个数字序列,比如01,02,…,30 但是如果我使用{01..30},我将得到1,2,…30,在一位数之前的零丢失。 我怎样才能得到01,02..30这样的格式?提前谢谢

    2 回复  |  直到 15 年前
        1
  •  3
  •   SiegeX    15 年前

    在Bash4,你的 {01..30} 大括号扩展实际上可以按您的要求工作。如果您在Bash3或更低版本上,可以使用 printf 与brace扩展一起内置,无需借助外部命令即可获得所需内容。

    $ printf "%02d " {1..20}
    01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
    
        2
  •  1
  •   jcomeau_ictx    15 年前
    
    seq -w 1 30  # ought to work
    

    如所示:

    
    for number in $(seq -w 1 30); do
     touch /tmp/bleah$number.dat
    done