Linux三剑客之awk命令快速入门

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介

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
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值