我有一小段c代码,应该在我的linux机器上运行awk命令.然而,对于我的生活,它不会执行.如果我直接在终端中运行它,awk就可以工作.
我当前失败的命令
system("awk '{ printf \"%d \n\", $12 }' results.dat | sort -n");
它失败了
awk: { printf "%d awk: ^ unterminated string
你怎么逃避双引号,以便命令运行?另外为什么会失败,但是当我用printf替换系统调用时它会打印出来?
也许你应该\n
再次逃脱,如同
system("awk '{ printf \"%d \\n\", $12 }' results.dat | sort -n"); // ^ note the extra \
因为我认为\n
它应该成为其中的一部分printf
.
你当前的构造调用system
带有一个参数
awk '{ printf "%d ", $12 }' results.dat | sort -n