首页 > 解决方案 > shell脚本中目录中的文件列表

问题描述

我在一个文件夹中有 xml 文件列表,例如 - data0.xml、data1.xml、data2.xml、...data99.xml

我必须阅读这些文件的内容以进行进一步处理。目前我正在使用 for 循环,如下所示

for xmlentry in `ls -v *.xml
do
        execute_loop $xmlemtry
done

这对所有 xml 的文件按顺序执行很好,

但我想知道是否要强制 FOR 循环从 data10.xml 开始并继续到 data99.xml

For 循环应该从 data10.xml, data11.xml .... data99.xml 开始

如何在 shell 脚本中做这样的事情,如果我可以用变量控制循环的开始会更好

标签: bashshellscripting

解决方案


您可以构造文件的名称并遍历它们。在您的具体示例中,这样的事情可能会起作用:

first=10
last=99
for i in $(seq "$first" "$last")
do
    xmlfile="data${i}.xml"
    execute_loop "$xmlfile"
done

推荐阅读