bash - 读取多个输入文件并按名称和顺序创建匹配的输出文件

时间:2014-02-10 07:45:53

标签: bash scripting

我不太了解bash脚本,但我知道我想要做的任务会因此而大大简化。我想使用许多测试输入文件测试一个针对预期输出的程序。

例如,我有名为“input1.txt,input2.txt,input3.text ...”的文件,文件“output1.txt,output2.txt,output3.txt ...”中的预期输出。我想用每个输入文件运行我的程序并输出相应的“test1.txt,test2.txt,test3.txt ...”。然后我会为每个文件做一个“cmp output1.txt test1.txt”。

所以我认为它会像这样......大致......

for i in input*;
do
    ./myprog.py < "$i" > someoutputthing;
done

我遇到的一个问题是:如何匹配文件名中的数字?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

如果输入文件名模式为inputX.txt,则需要从头开始删除input。您不必删除扩展名,因为您希望将其用于输出:

output=output${i#input}

请参阅man bash中的参数扩展。