在 awk 中的字段中搜索特定字符串



我正在使用Cygwin for Windows在Awk中编码。我实际上对这种语言很陌生。我写了一个小的行,如果特定字段中有一个特定的字符串,则打印整行。

 $  awk -F '[:,]' '{if($9 == "QueCmd0") print $0 }'  #QueCmd0 is the name of the string.

":"和","是字段分隔符。

该代码适用于小文本文件(最多 6-7MB 左右),但当.txt文件很大(大约 10-15MB)时,此代码不显示输出。我不知道问题出在哪里。

还有什么我应该知道

的吗?

更新:问题出在文本编码上,将编码从 unicode 更改为 UTF-8

awk -F '[:,]' '{if($9 == "QueCmd0") print $0}' 
awk -F '[:,]' '{if($9 == "QueCmd0") print}' 
awk -F '[:,]' '$9 == "QueCmd0" {print}'
awk -F '[:,]' '$9 == "QueCmd0"'

较大的文件中没有任何固有的东西会导致awk失败,
您正在使用的操作系统,我无法保证。

也许它想要一个更短的版本?

相关内容

  • 没有找到相关文章

最新更新