转载自: http://blog.Sina.com.cn/s/blog _ 3d 2d 79 aa 0100 h47h.html

awk是用于在linux/unix上处理文本和数据的编程语言。 数据可以来自标准输入、一个或多个文件或其他命令的输出,即管道。 支持用户自定义函数动态正则表达式等先进功能,是linux/unix下强大的编程工具。 在命令行中使用,但经常作为脚本使用。

awk文本和数据的处理方法是这样的,如果没有指定它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作处理动作,则将一致的行作为标准输出(画面)的默认处理动作是print); 如果未指定模式,则会处理操作中指定的所有行,其中即默认指定模式是全部awk分别表示作者姓氏的第一个字符。 因为其作者是Alfred Aho、Brian Kernighan、Peter Weinberger三人。 gawk是awk的GNU版本,提供了对Bell实验室和GNU的扩展。

就像shell一样,awk也有几种。 常见的有awk、nawk、mawk、gawk等。 其中有

awk:最初于1 9 7 7年完成。 1 9 8 5年发布了新版本的awk。 其功能比旧版本强化了很多。 awk可以通过短程序对文档中的资料进行修改、比较、提取、打印等处理。 如果能用C或P a s c a l等语言编写程序来完成上述任务,那就太不方便了

3358 www.Sina.com/: 20世纪80年代中期更新了awk语言,并被称为nawk(newawk )的扩展版本所替换。 许多系统上仍存在旧的awk解释器,但通常安装为oawk(oldawk )命令,而nawk解释器安装为主要的awk命令,您也可以使用nawk命令。 Dr. Kernighan仍然在进行nawk维护,可以像gawk一样免费开放源代码获取;

nawk:mawk是awk编程语言的解释器。 awk语言广泛应用于多媒体数据文件及文本的检索和处理,算法原型设计和实验。 mawk为awk带来了新概念,《The AWK Programming Language》(Aho,Kernighan and Weinberger,The AWK Programming Language,Addison-Wesley Publishing,1988.) mAWK符合POSIX 1003.2 (草案11.3 )中定义的AWK语言,包含AWK文档中未列出的专色,同时mAWK提供了部分扩展,据说mAWK实现了最快的AWK

33558 www.Sina.com/: GNU项目的awk解释器的开源实现。 初始GAWK版本是旧的AWK替代方案,但不断更新以包含NAWK特性

现在大家都倾向于使用awk和gawk,本文介绍的awk是以GUN的gawk为例的。 Ubuntu系统中各种awk的选项设置可以在sudo update-alternatives– config awk中进行,实际上也可以通过手动修改软链接来实现。 对于Debian最小化安装,指向awk的链接是指向mawk的。

转载于:https://www.cn blogs.com/god mode/p/4949370.html