check="a1++"
awk -F":" -v name="$check" 'tolower($2)~ tolower(name)' file.txt
似乎 awk 在处理“++”字符串时存在一些问题。它无法检索文件中的值。然而,我已经尝试过改变check="44b"
看起来工作得很好
apple:44b:Vietnam
orange:A1++ approved:China
jelly:-34:Malaysia
pear:98:Malaysia
file.txt
正如格伦·杰克曼在评论中提到的,你应该使用index
vs ~
since +
是一个正则表达式元字符。
如果你使用++
then orange:A123 approved:China
也会匹配...
你可以做:
$ awk -F: -v name="$check" 'index(tolower($2), tolower(name))' file
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)