当前位置:首页 > shell > 正文内容

转载-linux之awk使用技巧

下辈子别做运维2022-12-21 08:38:07shell

转自微信公众号:入门小站

https://mp.weixin.qq.com/s/UtRZld4pm071dbfXu-k5xQ


打印文件的第一列

> awk '{print $1}' rumenz.txt

打印文件的前两列

> awk '{print $1,$2}' rumenz.txt

打印文件的最后一列

> awk '{print $NF}' rumenz.txt

打印文件的总行数

> awk 'END{print NR}' rumenz.txt

打印文件的第一行

> awk 'NR==1{print}' rumenz.txt
  • NR是指awk正在处理的记录位于文件中的位置(行号)

打印文件的第3行第2列

> sed -n '3,1p' rumenz.txt | awk '{print $2}'

删除空行

> awk 'NF' rumenz.txt

打印奇数行

> awk 'b=!b' rumenz.txt

打印文件按#分割后,行长度为3的所有行

> awk -F '#' 'if(NF==3){print}' rumenz.txt
  • NF是指awk正在处理的记录包含几个域(字段),这与域分隔符有关,默认为空

统计Linux系统中每个用户所用的shell

> cat /etc/passwd | awk -F ":" '{print $1" : "$7}'

用awk统计linux系统中所有的用户数

> cat /etc/passwd | awk '{count++}END{ print count}'

统计某个文件夹下文件所占的字节数

> ls -l | awk 'BEGIN{size=0}{size=size+$5}END{print size}'

统计某个文件夹下文件所占的字节数,按M显示

> ls -l | awk 'BEGIN{size=0}{size=size+$5}END{print size}'

netstat结合awk统计TCP连接数

> netstat -tunlp | awk '/^tcp/{++a[$6]}END{for(i in a) print i,a[i]}'

过滤空行

> awk '/^[^$]/ {print $0}' rumenz.txt

列运算

> cat 1.txt
1
2
3

求和

> cat 1.txt | awk '{a+=$1}END{print a}'

求平均值

> cat 1.txt | awk '{a+=$1}END{print a/NR}'

求列的最大值

> cat 1.txt | awk 'BEGIN{a=0}{if($1>a) a=$1 fi}END{print a}'


扫描二维码推送至手机访问。

版权声明:本文由个人博客发布,如需转载请注明出处。

本文链接:https://opszzfwordpress.club/post/126.html

分享给朋友:
返回列表

上一篇:shell脚本实例-数据库

没有最新的文章了...

“转载-linux之awk使用技巧” 的相关文章

shell脚本实例-系统

shell脚本实例-系统

更多脚本下载:https://opszzfwordpress.club/script/1、系统巡检脚...

shell脚本实例-中间件

shell脚本实例-中间件

更多脚本下载:https://opszzfwordpress.club/script/nginxng...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。