【发布时间】:2017-08-28 18:17:41
【问题描述】:
我正在使用此代码从忽略大小写的主机文件中获取 ip 条目,但它似乎不适用于 AIX
输入文件
172.23.1.230 enboprtpapzp04.digjam.com enboprtpapzp04
#172.23.0.33 enboprtpapzp04.digjam.com enboprt enboprtpapzp04
172.23.1.230 enboprtpapzp04.fixture.com enboprtpap enboprtpapzp04
awk -v client="$client" 'BEGIN {IGNORECASE = 1}{k=0; for (i=1;i<=NF;i++){if ($i==client){print $1}; k++}}' file
查看下面的输出
client=ENBOPRTPAPZP04
awk -v client="$client" 'BEGIN {IGNORECASE = 1}{k=0; for (i=1;i<=NF;i++){if ($i==client){print $1}; k++}}' file
什么都没发生
预期输出
grep -i ENBOPRTPAPZP04 /etc/hosts | awk '{print $1}' | grep -v "^#"
172.23.1.230
172.23.1.230
【问题讨论】:
-
预期的输出是什么? ips?
-
为什么有人会对这个问题做出否定回答,这是一个简单的 IGNORECASE=1 不起作用的问题,我需要知道为什么,现在将其标记为否定问题有多困难?跨度>
-
@EdMorton 谢谢 sed 不是一个大问题,我可以在 awk 中替换它,我没有使用 gawk,ignorecase 在 linux 中可以正常工作,但在 AIX 中不行,还有其他方法可以在 awk 中忽略 AIX 中的大小写吗?
-
@EdMorton 感谢您的解释,我编辑了这个问题,现在看起来还可以吗?有人可以请积极投票吗?
-
@EdMorton 现在看起来还可以吗?会记住这一点,很着急,现在可以正面投票吗?
标签: awk aix ignore-case