系统相关
首页 > 系统相关> > 007 Linux 命令三剑客之-awk

007 Linux 命令三剑客之-awk

作者:互联网

01 一起来认识 awk!

Linux 命令三剑客,sed、grep、awk。

awk 更适合格式化文本,对文本进行较复杂格式处理,awk 程序对输入文件的每一行进行操作。awk 是一门解释型的编程语言。文本处理、输出格式化的文本报表、执行算数运算、执行字符串操作等等。

02 awk 完整命令格式

BEGIN { …. initialization awk commands …}{ …. awk commands for each line of the file…}END { …. finalization awk commands …}

03 awk 间隔符(分隔符)

04 awk 内置变量及可选参数

【内置变量】

【常用可选参数】

05 awk 模式匹配

06 awk 控制语句

awk 'BEGIN{ commands } pattern{ commands } END{ commands }'

eg:统计指定ip和端口号,各种 tcp 连接状态的数量

netstat -n | grep 1.2.3.4:22 | awk '/^tcp/ {++State[$NF]} END {for (i in State) print i, State[i]}'

07 awk 常用实践

awk 'END  {print NR}' warn.log #统计 warn.log 文件行数。
awk -F, '{print $1,$2}' info.log # -F, 指定以逗号分隔。
awk 'BEGIN{print  115+100}'

08 小结

awk 命令,擅长文本格式化处理,这里只是起到一个抛砖引玉的作用,awk 语法较为复杂,感兴趣的可以深入学习,当然你也可以用 python 等语言来做一些脚本任务的处理。

「不甩锅的码农」原创,转载请注明来源,未经授权禁止商业用途!同名 GZH 请关注!

标签:commands,END,BEGIN,NF,State,007,awk,三剑客
来源: https://www.cnblogs.com/bilahepan/p/15848046.html