linux AWK 笔记

来源:互联网 发布:淘宝号购买 编辑:程序博客网 时间:2024/06/04 19:53
[root@orale home]# cat file.txt 
1 this is the file line
2 hello, everffaaf!
3 192.168.22.88 w2k2.bebe.com
4 huna:x:594:502::/home/hunas/:bin?bash


把第2行的内容打印出来
[root@orale home]# awk  'NR==2 {print}' file.txt 
2 hello,everffaaf!

把第1-3行的内容打印出来
[root@orale home]# awk  'NR==1,NR==3 {print}' file.txt 
1 this is the file line
2 hello,everffaaf!
3 192.168.22.88 w2k2.bebe.com

把第1和3行的内容打印出来
[root@orale home]# awk  'NR==1||NR==3 {print}' file.txt 
1 this is the file line
3 192.168.22.88 w2k2.bebe.com

打印出基数/偶数行
[root@orale home]# awk  '(NR%2)==1 {print}' file.txt 
1 this is the file line
3 192.168.22.88 w2k2.bebe.com

[root@orale home]# awk  '(NR%2)==0 {print}' file.txt 
2 hello,everffaaf!
4 huna:x:594:502::/home/hunas/:bin?bash

打印出包含字符'2'的行
[root@orale home]# awk '/2/{print}' file.txt
2 hello,everffaaf!
3 192.168.22.88 w2k2.bebe.com
4 huna:x:594:502::/home/hunas/:bin?bash

打印出以含字符'bash'结尾的行
[root@orale home]# awk '/bash$/{print}' file.txt
4 huna:x:594:502::/home/hunas/:bin?bash

把2-4行的 第1段 和第3段打印出来 (默认是以空格分段)
[root@orale home]# awk 'NR==2,NR==4{print $1,$3}' file.txt
2 everffaaf!
3 w2k2.bebe.com


以符号 . 为分隔符 $5 第五段为bebe的内容打印出来
[root@orale home]# awk -F. '$5=="bebe"{print}' file.txt
3 192.168.22.88 w2k2.bebe.com

打印所有以模式no或so开头的行。

awk '/^(no|so)/'awk.sql  -----


-以冒号分段 并打印出第2区>=1 and 2$<2 的值 

awk -F '[:]' '$2>=1 && $2<2 {print $2 }' awk.sql   


awk    '$2>5'  awk.sql    打印第2区域大于5的值  

例: 

目前连接数: 5 

目前连接数: 3  

查询结果就是 目前连接数: 5

awk    '$2>5 {print $2}' awk.sql     

---第2区域大于5 打印出第2区域的值

 例: 目前连接数: 5   

查询结果就是 : 5


打印所有以模式no或so开头的行。

awk '/^(no|so)/'awk.sql  -----

-以冒号分段 并打印出第2区>=1 and 2$<2 的值 

awk -F '[:]' '$2>=1 && $2<2 {print $2 }' awk.sql   
原创粉丝点击