我不太了解bash脚本,但我知道它会大大简化我想做的任务。我想使用许多测试输入文件根据预期输出测试程序。
例如,我有名为"input1.txt,input2.txt,input3.text…"的文件,预期输出在文件"output1.txt,output2.txt,outut3.txt…"中。我想用每个输入文件运行我的程序,并输出相应的"test1.txt,test2.txt,test3.txt……"。然后我会为每个文件做一个"cmp output1..txt test1.txt"。
所以我认为它会这样开始。。粗略地
for i in input*;
do
./myprog.py < "$i" > someoutputthing;
done
我有一个问题:如何匹配文件名中的数字?谢谢你的帮助。
如果输入文件名模式是inputX.txt
,则需要从一开始就删除input
。你不必删除扩展,因为你想使用相同的输出:
output=output${i#input}
参见man bash
中的参数展开。