我正在使用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失败,
您正在使用的操作系统,我无法保证。
也许它想要一个更短的版本?