https://cloud.tencent.com/developer/article/1177526?from=15425
1.awk简介
awk 是一个强大的文本分析工具。sed 常常用于一整个行的处理,而 awk 则倾向于以空格和tab键为默认分隔符将每行切片成一个个域(也就是一列)来处理。awk适用于小型的数据处理.awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 awk 的 GNU 版本。
2. awk语法格式
awk ‘pattern1{action1} pattern2{action2} …’ filenameawk 后面接两个单引号并加上大括号 {} 来对匹配模式的数据进行处理。 awk 可以处理后面指定的文件,也可以通过管道命令”|”读取来自前个命令的标准输出。
3.工作流程
awk工作流程是这样的:读入有’’换行符分割的多条记录,然后将每一条记录按指定的域分隔符划分域,填充域,0则表示所有域, 0则表示所有域,1表示第一个域,$n表示第n个域。默认域分隔符是空格键和tab键。以last命令结合awk来演示awk一个简单的筛选输出。用 last 可以将登陆者的数据取出来,结果如下所示: [root@lvlv]# last -n 4 root pts/1 192.168.1.100 Tue Feb 10 11:21 still logged in root pts/1 192.168.1.100 Tue Feb 10 00:46 - 02:28 (01:41) root pts/1 192.168.1.100 Mon Feb 9 11:41 - 18:30 (06:48) dmtsai pts/1 192.168.1.100 Mon Feb 9 11:41 - 11:41 (00:00)
若我想要取出帐号与登陆者的 IP ,且帐号与 IP 之间以 [tab] 隔开,则会变成这样: [root@lvlv]# last -n 4 | awk ‘{p
