一、简介
1.1 awk是什么?
awk不仅仅时linux系统中的一个命令,而且是一种编程语言,可以用来处理数据和生成报告(excel)。处理的数据可以是一个或多个文件,可以是来自标准输入,也可以通过管道获取标准输入,awk可以在命令行上直接编辑命令进行操作,也可以编写成awk程序来进行更为复杂的运用
1.2 awk的格式
awk [options] 'pattern{action}' file // 比如: awk -F "[/]+" '{print $2}' test.txt
options : 是参数,可选,比如 -F 指定分割符
pattern : 是模式,比如NR>=2{print $0} ,此参数可选
action: 是动作, 执行什么.比如例子中的{print $2} // $2表示第二列
1.3 初步例子
例子1: awk -F ":" 'NR>=2 && NR<=6{print NR,$1}' /etc/passwd (全)
解释: 把passwd文件,用:分割列,取行号>=2 <=6,并且打印分割的第一列。
例子2: awk -F ":" 'NR>=2&&NR<=6' /etc/passwd (没有动作)
解释: 把passwd文件,用:分割列,取行号>=2 <=6 ,因为没有动作,默认打印整行
例子3: awk -F ":" '{print NR,$1}' /etc/passwd (没有条件)
解释: 把passwd文件,用:分割列,没有条件,所以是所有行,打印的是行号 和第一个分割列
例子4: awk 'BEGIN{RS="[ ]+"}{print $0}' count.tx

本文介绍了awk命令的基础和使用,awk是一种强大的文本分析工具,可用于处理数据和生成报告。文中讲解了awk的基本格式,例如指定字段分割符、模式和动作。还探讨了内部变量,如$0、$n、NR、NF等。并通过实例展示了如何统计nginx access.log中的最高IP和URL访问次数。
最低0.47元/天 解锁文章
1258

被折叠的 条评论
为什么被折叠?



