为什么grep -v POLYGON
删除的行数多于匹配grep POLYGON
?
$ cat BOUNDARIES3D_LV03.nt | grep -v POLYGON | wc
249 782 137001
$ cat BOUNDARIES3D_LV03.nt | grep POLYGON | wc
2441 2753697 51833677
$ cat BOUNDARIES3D_LV03.nt | wc
73078 2975809 91746795
这是grep中的错误(使用:grep(GNU grep)2.23)还是我误解了什么?
更新 似乎grep在包含无效字符的第一个匹配行中止。
答案 0 :(得分:0)
问题是grep在包含字节序列的第一行中止,该字节序列不计算当前编码中的字符。以下为我解决了这个问题:
export LC_ALL="en_US.UTF-8"