【问题标题】:how to repeat an executable with different parameters?如何重复具有不同参数的可执行文件?
【发布时间】:2014-04-23 10:44:52
【问题描述】:

我有一个可执行文件来分析图像。在 shell 中我写了./analyse img_001.jpg,它返回 1 个数字。 我寻找一种解决方案来使用脚本分析我的 999 张图像(img_001.jpg 到 img_999.jpg)(我真的不想手动执行),我需要提示。

是否有可能有类似 ./script.sh 的东西返回 999 个数字?

真诚的

【问题讨论】:

    标签: shell executable


    【解决方案1】:

    如果你使用bash,你可以简单地使用大括号扩展:

    for i in {1..999}; do
        printf "img_%03d.jpg\n" $i
    done
    

    这将打印出来:

    img_001.jpg
    img_002.jpg
    ...
    img_998.jpg
    img_999.jpg
    

    要使用这些作为参数运行脚本,您可以使用:

    for i in {1..999}; do
        ./analyse $(printf "img_%03d.jpg" $i)
    done
    

    您也可以将大括号扩展替换为seq

    for i in $(seq 1 999); do
    

    【讨论】:

    • 在 bash 版本 4 或更高版本中,{000..999} 直接扩展到零填充数字,因此不再需要 printf
    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 2016-01-25
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 1970-01-01
    相关资源
    最近更新 更多