awk常用案例
1、取出/etc/passwd中的第1行的第1列,第3列和最后一列
awk -F: 'NRՎҧ1{print $1,
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
6、取出/etc/passwd中的第1列,第3列和最后一列
awk -F':' '{print $1,
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,
9、如果系统swap使用超过0则输出"异常系统开始占用swap"
free |awk '/Swap/ ՎҐ $3 ՎҲ 0 {print "异常系统开始占用swap"}'
10、过滤出/etc/passwd第4列的数字是以0或1开头的行,输出第1列,第3列,第4列
awk -F':' '$4 ~ /[1]/ {print
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(
01 ↩︎
本文作者:hflinux
本文链接:https://www.cnblogs.com/hflinux/p/18297985
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步