我现在从未使用过awk。
最近我遇到了一个awk脚本,说
{Some previous command}| awk -W interactive '{print} /Please press CTRL\+C to exit./ {print "Exiting."; system("kill " system("echo "))}'
我必须让这个脚本在Windows上运行。
但我甚至不知道它做了什么。
任何帮助表示赞赏,请不要告诉我去搜索我已经完成的手册页,这似乎很复杂。
我刚刚掌握到它是模式动作语句的某种形式。
如果任何awk专业知道发生了什么,请让我知道。
如果可能的话,我将能够在Windows上运行此脚本。了解awk表达式
Q
了解awk表达式
0
A
回答
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。
+0
我对一个被遗忘的方面感到抱歉,'打印“退出。系统(“kill”系统(“echo”$ SPID“))' -
+1
不,”SIPD“包含当前输入记录中字段的数值。取消设置它的值为零,因此计算结果为'$ 0',这将导致整个记录被传递给'echo',接着是最后一个双引号和下一个引号之间的任何内容。 awk不是shell。 – 2014-10-06 16:12:57
相关问题
- 1. 了解正则表达式表达
- 2. 了解正则表达式
- 3. 了解Lambda表达式
- 4. 了解正则表达式
- 5. 了解正则表达式
- 6. 了解C#Lambda表达式
- 7. 了解正则表达式
- 8. 了解正则表达式?
- 9. 了解正则表达式
- 10. 了解X-Path表达式
- 11. 合并awk表达式
- 12. awk正则表达式
- 13. AWK-字符串表达式
- 14. 用awk正则表达式
- 15. 了解sed/awk ^和[]
- 16. Awk了解变量
- 17. 了解mod_rewrite和正则表达式
- 18. 了解这个正则表达式
- 19. 了解一些xpath表达式
- 20. 了解VBScript中的Const表达式
- 21. 了解这个正则表达式
- 22. 试图了解lambda表达式
- 23. 了解Nutch正则表达式
- 24. 了解SpamAssassin HK_RANDOM正则表达式
- 25. 红宝石:了解正则表达式
- 26. 了解java中的正则表达式
- 27. 了解计划中的表达式
- 28. 了解js代码表达式
- 29. 解码了Talend表达成Java公式
- 30. 了解Haskell表达式评估
安装cygwin并直接在其中运行awk。 – choroba 2014-10-06 09:35:59
不可能,我想用最少的依赖关系来做。我已经安装了cygwin。如果你知道这个awk语句,请解释一下。 – 2014-10-06 09:37:55