到目前为止我从未使用过 awk。
我最近遇到一个 awk 脚本,上面写着
{之前的一些命令}| awk -W Interactive '{print}/请按 CTRL\+C 退出。/{print "退出。";系统(“杀死”系统(“回声”))}'
我必须让这个脚本在 Windows 上运行。
但我什至不知道它是做什么的。
感谢任何帮助,请不要告诉我去搜索我已经完成的手册页,这一切似乎都非常复杂。
我刚刚意识到它是某种形式的模式操作语句。
如果任何 awk 专业人士知道发生了什么事,请告诉我。
如果可能的话,我将能够在 Windows 上运行这个脚本。
最佳答案
这看起来很奇怪
基本上,awk 代码看起来像是输出每一行输入(使用 {print}
指令),就像它在行缓冲模式 (-W Interactive
) 中看到的那样。
当它出现在 Please press CTRL+C to exit.
行时,它会通知终端并尝试执行相当奇怪的系统命令。
print "Exiting."; system("kill " system("echo "))
也许我误读了这一点,但如果 echo
命令成功,看起来应该会转化为 kill 0
。 Kill 0 kills off everything in the current process group .
关于linux - 理解 awk 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26213433/