shell文本编辑awk

awk是Linux下用于处理文本的工具,它擅长将文本按字段分割并进行处理。默认字段分隔是空格或tab。awk内置逻辑操作符如'&&'、'||'和'!',支持基本数学运算。内建变量简化了操作,示例包括按行和字段输出文本。

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

awk

​ awk 比较倾向于将一行分成多个“字段”然后再进行处理,且默认情况下字段的分隔符为空格或者 tab 键。awk 执行结果可以通过 print 的功能将字段数据打印显示。在使用awk命令的过程中,可以使用逻辑操作符“&&”,表示“与”, “||”表示“或”,“!”表示“非”;还可以进行简单的数学运算,如+、-、*、/、%、^分别 表示加、减、乘、除、取余和乘方。

awk 包含几个特殊的内建变量(可直接用)

FS指定每行文本的字段分隔符,默认为空格或制表位(tab)
NF当前处理的行的字段个数
NR当前处理的行的行号
$0当前处理的行的整行内容
$n当前处理行的第n个字段(第n列)
FILENAME被处理的文件名
RS数据记录分隔,默认为\n.即每行为一条记录

用法示例

按行输出
[root@tangkun ~]#awk '{print}' /etc/passwd         #输出passwd的所有内容
[root@tangkun ~]#awk '{print $0}' /etc/passwd      #输出passwd的所有内容
[root@tangkun ~]#awk 'NR==1,NR==3{print}' /etc/passwd         #输出passwd第1行到第3行的内容
[root@tangkun ~]#awk '(NR>=1)&&(NR<=3){print}' /etc/passwd    #输出passwd第1行到第3行的内容

请添加图片描述

请添加图片描述

[root@tangkun ~]#awk 'NR==1||NR==3{print}' /etc/passwd       #输出passwd第1行和第3行的内容

请添加图片描述

[root@tangkun ~]#awk '(NR%2)==1{print}' /etc/passwd          #输出passwd奇数行的内容
[root@tangkun ~]#awk '(NR%2)==0{print}' /etc/passwd          #输出passwd偶数行的内容

请添加图片描述

请添加图片描述

[root@tangkun ~]#awk '/^root/{print}' /etc/passwd         #输出以root开头的行
[root@tangkun ~]#awk '/bash$/{print}' /etc/passwd         #输出以bash结尾的行

请添加图片描述

请添加图片描述

按字段输出文本
[root@tangkun ~]#awk -F: '{print $1}' /etc/passwd        #以:为分隔输出第一列

请添加图片描述

[root@tangkun ~]#awk -F: '{print $1" "$2}' /etc/passwd   #以:为分隔输出第一列和第2列
[root@tangkun ~]#awk -F: '{print $1,$2}' /etc/passwd     #以:为分隔输出第一列和第2列

请添加图片描述

[root@tangkun ~]#awk -F: '{print $1$NF}' /etc/passwd      #以:为分隔输出第一列和第最后一列
[root@tangkun ~]#awk -F: '{print $1"\t"$NF}' /etc/passwd  #输出第一列和第最后一列(以制表符分隔)

请添加图片描述

[root@tangkun ~]#awk -F[:/] '{print $9}' /etc/passwd      #以:和/做分隔 输出第9段内容

请添加图片描述

[root@tangkun ~]#ifconfig ens33|awk 'NR==2{print}'|awk '{print"本机的IP地址为:"$2}'
本机的IP地址为:192.168.116.131

##筛选出来IP地址

请添加图片描述

[root@tangkun ~]#df -h|awk '{print$5}'|tr -d %    #磁盘占有量,并删掉百分号

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值