相关疑难解决方法(0)

如何在bash中填充整数序列以使所有宽度相同?

我需要循环一些值,

for i in $(seq $first $last)
do
    does something here
done
Run Code Online (Sandbox Code Playgroud)

对于$first$last,我需要它是固定长度5.所以如果输入是1,我需要在前面添加零,使它成为00001.它循环直到99999例如,但长度必须是5.

如:00002,00042,00212,012312等等.

关于我如何做到这一点的任何想法?

bash numbers padding

380
推荐指数
10
解决办法
23万
查看次数

如何在保留前导零的同时在 while 循环中增加数字(BASH < V4)

我正在尝试编写一个 BASH 脚本,用 cURL 下载一些播客的成绩单。所有转录文件的名称仅相差三位数:filename[three-digits].txt

  • filename001.txt
  • 到...... filename440.txt

我将三位数作为数字存储在变量中,并在 while 循环中递增变量。如何在不丢失前导零的情况下增加数字?

#!/bin/bash
clear

# [...] code for handling storage

episode=001
last=440

secnow_transcript_url="https://www.grc.com/sn/sn-"
last_token=".txt"

while [ $episode -le $last ]; do
    curl -X GET $secnow_transcript_url$episode$last_token > # storage location
    episode=$[$episode+001];
    sleep 60 # Don't stress the server too much!
done
Run Code Online (Sandbox Code Playgroud)

我搜索了很多并发现了其他人的好方法,这确实解决了我的问题,但出于好奇,我很想知道是否有解决我的问题的方法可以保持 while 循环,尽管 for 循环更适合在首先,因为我知道范围,但总有一天,我需要一个 while 循环!:-)

#!/bin/bash
for episode in $(seq -w 01 05); do
    curl -X GET $secnow_transcript_url$episode$last_token > # ...
done …
Run Code Online (Sandbox Code Playgroud)

bash shell loops while-loop

3
推荐指数
1
解决办法
1531
查看次数

标签 统计

bash ×2

loops ×1

numbers ×1

padding ×1

shell ×1

while-loop ×1