为了能到远方,脚下的每一步都不能少.|

园龄:粉丝:关注:

awk常用案例

1、取出/etc/passwd中的第1行的第1列,第3列和最后一列
awk  -F:  'NRՎҧ1{print $1,3,NF}' /etc/passwd

2、取出/etc/passwd的第1行
awk 'NR==1' /etc/passwd

3、取出第2行到第5行的内容
awk 'NR>=2 && NR<=5' /etc/passwd

4、过滤出/etc/passwd文件中包含root或nobody的行
awk '/root|nobody/' /etc/passwd

5、使用awk取出ls -lh 的大小列和最后一列
ls -lh /etc/hosts |awk '{print 5,NF}' |column -t

6、取出/etc/passwd中的第1列,第3列和最后一列
awk -F':'   '{print $1,3,NF}' /etc/passwd|column -t

7、指定复杂分隔符取出ip
ip a s eth0 | awk 'NR==3'|awk -F'[ /]+' '{print $3}'

8、取出/etc/passwd文件中第3列大于大于100的行,取出这行的第1列,第3列和最后一列
awk -F':'  '$3>100{print $1,3,NF}' /etc/passwd|column -t

9、如果系统swap使用超过0则输出"异常系统开始占用swap"
free |awk '/Swap/ ՎҐ $3 ՎҲ 0 {print "异常系统开始占用swap"}'

10、过滤出/etc/passwd第4列的数字是以0或1开头的行,输出第1列,第3列,第4列
awk -F':' '$4 ~ // {print 1,3}' /etc/passwd

11、统计与计算
统计次数
awk  '{i=i+1} END{print i}' /etc/passwd

计算总和
seq 10 > num.txt计算num.txt每一行的数字的总和
awk '{i=i+$1}END{print i}' num.txt

取出第三列等于0,打印出第三列和第五列的内容
awk -F : '{if(3==0)print3,$5}' /etc/passwd


  1. 01 ↩︎

本文作者:hflinux

本文链接:https://www.cnblogs.com/hflinux/p/18297985

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   还得多长时间·  阅读(24)  评论(0编辑  收藏  举报
//雪花飘落效果
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起