You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Bash循环脚本以调整文件名的数字前缀格式

如何修改Bash循环脚本以调整文件名的数字前缀格式

嘿,我来帮你搞定这个文件名格式的问题!你现在的脚本不管数字大小都固定加了个0,导致10及以上的数字也变成了ext010.txt、ext030.txt这种,咱们只需要加个简单的判断逻辑,让数字小于10的时候保留前导0,10及以上的自动去掉这个多余的0就行。

直接给你修改好的脚本:

prod_parts=30

for i in $(seq 2 $prod_parts); do
    prev=$((i - 1))
    next=$((i + 1))
    
    # 根据数字大小生成对应格式的文件名
    if [ $i -lt 10 ]; then
        filename="ext0$i.txt"
    else
        filename="ext$i.txt"
    fi
    
    printf "something" > "$filename"
done

简单拆解下逻辑:

  • 循环里新增了if-else判断:当i小于10时,文件名用ext0$i.txt(比如i=5时生成ext05.txt);
  • 当i大于等于10时,直接用ext$i.txt(比如i=10时生成ext10.txt,i=30时生成ext30.txt);
  • 最后把内容写入对应格式的文件名即可。

运行这个脚本后,生成的文件名就完全符合你想要的效果:小数字保留前导0,10及以上的数字自动去掉多余的0。

备注:内容来源于stack exchange,提问作者James Starlight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 11:24:34