【问题标题】:How to iterate through numerical file names with bash script?如何使用 bash 脚本遍历数字文件名?
【发布时间】:2023-03-15 16:10:01
【问题描述】:

所以我有一个 bash 脚本,我试图用它来为一个简单的程序运行多个输入/输出测试集。这些文件被命名为 input1.txt、input2.txt、expected1.txt、expected2.txt 等。目前我正在尝试

#!/bin/bash

cat /dev/null > ../log
for i in {1..5}
do
    java VanRentalSystem ../input\$i.txt >> ../log;
    diff ../log ../expected\$i.txt
done

这不起作用,因为 bash 没有将变量“i”转换为正确的数字。 假设所有文件都在当前文件上方的目录中,我应该如何重写循环内的两行?

【问题讨论】:

    标签: bash


    【解决方案1】:

    试试这个:

    #!/bin/bash
    
    cat /dev/null > ../log
    for i in {1..5}
    do
        java VanRentalSystem ../input$i.txt >> ../log;
        diff ../log ../expected$i.txt
    done
    

    【讨论】:

    • 您可以通过在脚本的第二行添加set -x 命令以简单的方式调试它(例如检查生成的文件名)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 2018-10-03
    • 2013-09-25
    • 2020-05-16
    • 2011-06-18
    相关资源
    最近更新 更多