我现在从未使用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上运行此脚本。
答案 0 :(得分:0)
这看起来很奇怪
基本上,awk代码看起来吐出每一行输入(使用{print}
指令),因为它在行缓冲模式(-W interactive
)中看到它。
当它越过Please press CTRL+C to exit.
行时,它会通知终端并尝试执行相当奇怪的系统命令。
print "Exiting."; system("kill " system("echo "))
也许我误解了这一点,但如果kill 0
命令成功,它看起来应该转移到echo
。 Kill 0 kills off everything in the current process group