我不太了解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
我遇到的一个问题是:如何匹配文件名中的数字?谢谢你的帮助。
答案 0 :(得分:1)
如果输入文件名模式为inputX.txt
,则需要从头开始删除input
。您不必删除扩展名,因为您希望将其用于输出:
output=output${i#input}
请参阅man bash
中的参数扩展。