说,我有一个我编译的C代码:
$ gcc code.c -o f.out
$ ./f.out inputfile outputfile
然后代码要求输入
$ enter mass:
现在,如果我需要运行此代码200次并且输入文件具有名称:0c.txt,1c.txt,.....,199c.txt等,我想使用相同的质量值时间(例如质量= 6)然后如何为此编写“awk”命令?谢谢你的帮助。
答案 0 :(得分:3)
您没有指定输出文件名。我假设0c.out,1c.out,......
我还假设f.out程序从stdin读取质量而不是更复杂的东西。
#!/usr/bin/gawk -f
BEGIN {
mass = 6
for (i=0; i<200; i++) {
cmd = sprintf("./f.out %dc.txt %dc.out", i, i)
print mass |& cmd
close(cmd, "to")
while ((cmd |& getline out) > 0) {
do something with each line of output from ./f.out
}
close(cmd)
}
}
ref http://www.gnu.org/software/gawk/manual/html_node/Two_002dway-I_002fO.html
在bash中,你会写:
for i in $(seq 0 199); do
echo 6 | ./f.out ${i}c.txt ${i}c.out
done