理解awk表达式

时间:2014-10-06 09:31:49

标签: linux awk

我现在从未使用awk uptill 我最近遇到了一个awk脚本 {Some previous command}| awk -W interactive '{print} /Please press CTRL\+C to exit./ {print "Exiting."; system("kill " system("echo "))}'
我必须在Windows上运行此脚本 但我甚至都不知道它的作用 任何帮助表示赞赏,请不要告诉我去搜索我已经完成的手册页,这一切看起来都很复杂。
我只是抓住它是某种形式的模式行动声明 如果任何awk专业知道发生了什么事,请告诉我 如果可能,我将能够在Windows上运行此脚本。

1 个答案:

答案 0 :(得分:0)

这看起来很奇怪

基本上,awk代码看起来吐出每一行输入(使用{print}指令),因为它在行缓冲模式(-W interactive)中看到它。

当它越过Please press CTRL+C to exit.行时,它会通知终端并尝试执行相当奇怪的系统命令。

print "Exiting."; system("kill " system("echo "))

也许我误解了这一点,但如果kill 0命令成功,它看起来应该转移到echoKill 0 kills off everything in the current process group