[英]Why IGNORECASE awk variable does not work properly when its value is set in the command line option?
我意识到awk -v IGNORECASE=0
忽略了不应该的情况。
ps -ef | awk -v IGNORECASE=0 '/INIT/'
root 1 0 0 2019 ? 00:03:07 /sbin/init
root 65327 25751 0 08:26 pts/0 00:00:00 awk -v IGNORECASE=0 /INIT/
但是awk 'BEGIN { IGNORECASE=0 }'
并没有按预期忽略这种情况。
ps -ef | awk 'BEGIN { IGNORECASE=0 } /INIT/'
root 66290 25751 0 08:27 pts/0 00:00:00 awk BEGIN { IGNORECASE=0 } /INIT/
为什么? 我错过了什么? 这是一个错误吗?
PD:GNU Awk 3.1.7
在 gawk 更新日志中找到:
2015-02-05 Andrew J. Schorr
- eval.c (set_IGNORECASE):如果 IGNORECASE 有一个数值,在把它当作字符串之前尝试使用它。 这解决了在命令行上设置 -v IGNORECASE=0 无法正常工作的问题。
错误确认。 你没有错过任何东西。
希望您可以升级到最新版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.