说,我有一个C代码,我编译这样的:awk命令运行的C++代码,并多次输入
$ gcc code.c -o f.out
$ ./f.out inputfile outputfile
然后代码会要求输入
$ enter mass:
现在,如果我需要运行这个代码例如200次,输入文件有名称:0c.txt,1c.txt,.....,199c.txt等,我想每次使用相同的质量值(例如质量= 6)那么我该如何为此编写一个“awk”命令?谢谢你的帮助。
说,我有一个C代码,我编译这样的:awk命令运行的C++代码,并多次输入
$ gcc code.c -o f.out
$ ./f.out inputfile outputfile
然后代码会要求输入
$ enter mass:
现在,如果我需要运行这个代码例如200次,输入文件有名称:0c.txt,1c.txt,.....,199c.txt等,我想每次使用相同的质量值(例如质量= 6)那么我该如何为此编写一个“awk”命令?谢谢你的帮助。
您不指定您的输出文件名称。我假设0c.out,1c.out,...
我还假设f.out程序从标准输入读取质量而不是更复杂。
#!/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)
}
}
裁判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
非常感谢Glenn。 – user3389597 2014-10-08 20:06:16
你为什么不硬编码在你的质量本身的价值代码? – 2014-10-08 19:48:54
为什么awk?壳牌会更简单。 – 2014-10-08 19:50:16
是什么让你觉得'awk'在这种情况下是最好的工具? – eduffy 2014-10-08 19:50:31