小编Ank*_*kit的帖子

来自awk和nawk的不同结果

我刚刚在一个有大约2.5亿条记录的文件上运行这两个命令.

awk '{if(substr($0,472,1)=="9") print $0}' < file1.txt >> file2.txt
Run Code Online (Sandbox Code Playgroud)

nawk '{if(substr($0,472,1)=="9") print $0}' < file1.txt >> file2.txt
Run Code Online (Sandbox Code Playgroud)

记录长度为482.第一个命令在file2.txt中给出了正确的记录数,即; 6000万,但nawk命令只提供420万.

我很困惑,想知道是否有人遇到过这样的问题.这个简单的命令究竟是如何在内部以不同的方式处理的?有一个缓冲区在使用nawk时只能容纳一定数量的字节吗?

如果有人可以对此有所了解,我将不胜感激.

我的OS详细信息是

SunOS <hostname> 5.10 Generic_147148-26 i86pc i386 i86pc
Run Code Online (Sandbox Code Playgroud)

unix awk nawk

3
推荐指数
1
解决办法
3763
查看次数

标签 统计

awk ×1

nawk ×1

unix ×1