linux文本处理三剑客
grep,egrep,fgrep;文本过滤
sed:文本编辑(行编辑器)
awk:报表生成器,文本格式化,能够实现根据需要对文本做美化后输出的,这更是一个强大到没有朋友的工具
awk类似于bash,支持变量,数组,判断,一个过程式语言它都有
AWK由来:由三个人名字首字母缩写而来
创始人:Alfred AHo,Peter Weinberger,Brian Kernighan
但是我们在linux上使用的AWK是另外一种,AWK在上个世纪70年代开发,这是一个古老的工具,而后在时代变迁中AWK被GUN二次开发为GAWK,在centos被符号链接为AWK
[root@www bin]# ll awk
lrwxrwxrwx. 1 root root 4 Apr 13 14:22 awk -> gawk
GUN在开发awk时做了很多加强,目前GAWK是最强版本
功能:进程控制,函数变量等,完整的过程式编程语言
AWK运行起来比起grep是差很多的
AWK的运行方式:
支持三种方式
1,awk命令行
#awk
2,awk程序文件
#awk -f /path/from/awkname.file
3,awk脚本
#!/bin/awk -f
基本用法:
gawk [options] 'program' file1 file2 ...
program:PATTERN{ACTION STATEMENT}
由语句组成,各语句间使用分号分割;
ACTION:print,printf
AWK是一个格式化工具,为了达到它的目标,它一次从文本文件中读出一行数据,而后把每一行文本,读一行处理一行遍历整个文本,读至awk的空间,按照指定的分隔符进行切法,切法标准和条件:以指定的分隔符指定的切出来,而后被切成N段变量$1,$2,$3,$4,直到最后,整行的是$0,读取文本后赋值给每个$。
linux文本处理三剑客之—AWK(一)下载文档