繁体   English   中英

为什么在命令行选项中设置了 IGNORECASE awk 变量的值时无法正常工作?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM