关闭

linux AWK 笔记

758人阅读 评论(0) 收藏 举报
分类:
[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   
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:33605次
    • 积分:570
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:9篇
    • 译文:0篇
    • 评论:0条
    文章分类