Linux-5-awk命令

本文详细介绍了awk命令的工作原理、处理流程、完整语法、基本命令、操作符、内部变量、内置函数、结构化语句以及数组的使用。通过实例演示了如何在Linux环境中运用awk进行数据处理,包括提取文件系统信息、用户信息、统计特定列内容等。

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

awk命令的工作原理

与sed一样,均是一行一行的读取、处理

sed作用于一整行的处理,而awk将一行分成数个字段来处理

awk命令的简要处理流程

awk -F":" '{print $1,$2}' /etc/passwd

awk -F: '{print $1,$2}' /etc/passwd

        -F --> 指定分隔符,默认的分隔符是空白(空格+tab,enter)

        print是awk内部的命令,用于输出

        , --> 引用输出分隔符,默认输出分隔符是一个空格

分隔符:

        输入分隔符 --> -F

        输出分隔符 --> 定义 OFS="#" --> output field separater

awk命令的完整语法

BEGIN和END里的命令只执行一次

BEGIN和END必须大写

BEGIN和END不是必须的

awk的基本命令

awk命令的操作符

awk的内部变量

  • NF:每行$0的字段数
  • NR:当前处理的行号
  • FS:当前的输入分隔符,默认是空白字符(空格和tab键)
  • OFS:当前的输出分隔符,默认是空格字符(空格)

awk的内置函数

  • length:统计没有设置密码的用户的数量,同时输出用户名
  • substr:统计没有设置密码的用户的数量,同时输出用户名前2个字符

awk命令的结构化语句

awk里数组

 遍历取数据的方法

  • for循环
  • while循环

练习:

1、只显示df -h结果的第一列文件系统

        df -h|awk '{print $1}'

2、显示passwd文件的第5行和第10行的行号和用户名

        awk -F'[::]' 'NR==5,NR==10{print NR,$1}' /etc/passwd

3、使用NF变量显示passwd文件倒数第二列的内容

        awk -F'[::]' '{print NF,$6}' /etc/passwd

4、显示passwd文件中第5到第10行的用户名

        awk -F'[::]' 'NR==5,NR==10{print $1}' /etc/passwd

5、显示passwd文件中第7列不是bash的用户名\

6、显示passwd文件中行号是5结尾的行号和整行内容

7、用ifconfig/ip add  只显示ip yum  install net-tools  -y -->安装ifconfig命令的软件

8、ifconfig 命令后使用awk显示ens33的入站流量和出站流量(字节)

9、使用awk命令统计以r开头的用户数目,显示如下效果

10、显示每隔2秒的流量的变化[root@lamp-test ~]# watch -n 2 -d ifconfig|awk 'NR==5{print $5}'

11、统计/etc/passwd文件里以r开头的用户的数量,并且显示出用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值