awk命令运行C ++代码并多次输入

时间:2014-10-08 19:45:49

标签: awk

说,我有一个我编译的C代码:

$ gcc code.c -o f.out
$ ./f.out inputfile outputfile

然后代码要求输入

$ enter mass:

现在,如果我需要运行此代码200次并且输入文件具有名称:0c.txt,1c.txt,.....,199c.txt等,我想使用相同的质量值时间(例如质量= 6)然后如何为此编写“awk”命令?谢谢你的帮助。

1 个答案:

答案 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