shell4-awk

> awk -F [:/] '{print $1,$10}' /etc/passwd  #匹配以:或/为间隔(同时用)
> df -h / |tail -1|awk '{print $5}'         #"df -h /" 代表显示 "/" 这一行,默认空格间隔
> df -h |awk '/\/$/{print $4}'              # $代表最后一行        
> ifconfig eth0 | awk '/TX p/{print $3}'    #/TX 匹配TX开头的第1行,p打印出第3列   
> awk 'BEGIN{x=0}/bash$/{x++} END{print x}' /etc/passwd # 输出bash结尾的用户数
> awk -F: '$1~/root/' /etc/passwd  #~包含 !~不包含,匹配每1行第1列包含root
> awk -F: '$7!~/nologin$/{print $1,$7 }' passwd # 匹配每1行第7列不包含nologin        
> 条件设置示例
  /正则表达式/
  ~ 匹配 !~ 不匹配
> NF #某一行列数
> NR #行数
>  awk -F: '/bash$/{print $1}' /etc/passwd  
>  sed -n '/bash$/s/:.*//p' /etc/passwd     
>  awk '{$1="";print}' test.txt |sed -n 's/ /\n/gp' |sort -nr| head -1   
>  awk for循环案例      
>  cat sshd.txt |awk '{for(i=1;i<=NF;i++){print $i}}'         
>  awk '{print $1}' access.log | sort | uniq -c | sort -nr -k1
> # 匹配出关键字所在的列并输出
> awk '/\<sys\>/{for(i=1;i<=NF;i++)if($i~/sys/) print $i i}' sys1.txt
> awk '/\<sys\>/{for(i=1;i<=NF;i++)if($i~/sys/) print $i i}' sys1.txt |grep  "sys=" |awk -F[">"] '{print $1}'
> # awk四则运算
awk -v x=100 -v y=10 'BEGIN{printf "%.2f\n",x/y}'
awk匹配输出
https://blog.csdn.net/weixin_34395205/article/details/92450870
待写注释
netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}'
ss -ant | awk 'NR>1{++b[$1]} END{for(a in b)print a,b[a]}'

awk内置函数

https://www.runoob.com/w3cnote/awk-built-in-functions.html
  • sub:替换函数
sub(regex,sub,string) #将string中的regex替换为sub
例如:
a=123
echo $a | awk '{sub("2","1",$a);print $a}' --> 113
---
shell> df -hT | awk '$7=="/"'
> /dev/mapper/centos-root xfs        37G  3.3G   34G    9% /
shell> df -hT | awk '$7=="/"{print $6}'
> 9%
shell> df -hT | awk '$7=="/"{sub("%","",$6);print $6}'
> 9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值