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

如何在zsh中循环文件并跟踪当前迭代序号?

在Zsh中实现带序号的文件循环遍历

下面提供两种实用的方法来实现遍历文件时跟踪当前迭代序号:

方法一:手动维护计数器

直接初始化一个计数器变量,在循环中输出序号后自增,逻辑简单直观:

i=1
for file in mydir/*; do
    echo $i $file
    ((i++))
done

执行后会按文件遍历顺序输出从1开始的序号和对应文件路径。

方法二:利用Zsh数组的索引特性

先将目标文件存入数组,再通过数组索引来获取序号,这种方式更灵活,方便提前对文件列表做排序、过滤等操作:

# 将mydir下的文件存入数组
files=(mydir/*)
# 遍历数组的索引(Zsh数组索引默认从0开始)
for idx in "${!files[@]}"; do
    # 索引加1得到从1开始的序号
    echo $((idx + 1)) ${files[$idx]}
done

如果需要按特定顺序遍历(比如按文件名排序),可以在定义数组时加入排序参数:

# 按文件名升序排序后存入数组
files=(${(o)mydir/*})

内容的提问来源于stack exchange,提问作者user3310334

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 07:17:07