码迷,mamicode.com
首页 > 系统相关 > 详细

linux系统中awk命令 正则匹配

时间:2021-04-24 13:18:10      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:$1   size   lin   命令   数学   正则匹配   centos7   语文   中间   

 

1、测试数据

[root@centos7 test3]# cat b.txt
e t s e
s g m x
w d g i
d t e g
x g e w

 

2、打印匹配w的行

[root@centos7 test3]# cat b.txt
e t s e
s g m x
w d g i
d t e g
x g e w
[root@centos7 test3]# awk /w/ b.txt
w d g i
x g e w
[root@centos7 test3]# awk /w/ {print $1, $3} b.txt
w g
x e

 

3、打印第一列匹配w的行

[root@centos7 test3]# cat b.txt
e t s e
s g m x
w d g i
d t e g
x g e w
[root@centos7 test3]# awk $1 ~ /w/ b.txt
w d g i
[root@centos7 test3]# awk $1 ~ /w/ {print $1,$4} b.txt
w i

 

4、打印全文没有匹配w的行

[root@centos7 test3]# cat b.txt
e t s e
s g m x
w d g i
d t e g
x g e w
[root@centos7 test3]# awk !/w/ b.txt
e t s e
s g m x
d t e g

 

5、打印第一列没有匹配w的行

[root@centos7 test3]# cat b.txt
e t s e
s g m x
w d g i
d t e g
x g e w
[root@centos7 test3]# awk $1 !~ /w/ b.txt
e t s e
s g m x
d t e g
x g e w

 

6、打印同时匹配s或者w的行

[root@centos7 test3]# cat b.txt
e t s e
s g m x
w d g i
d t e g
x g e w
[root@centos7 test3]# awk /[sw]/ b.txt
e t s e
s g m x
w d g i
x g e w

 

7、打印第3列匹配e同时第四列匹配g的行

[root@centos7 test3]# cat b.txt
e t s e
s g m x
w d g i
d t e g
x g e w
[root@centos7 test3]# awk $3 ~ /e/ b.txt
d t e g
x g e w
[root@centos7 test3]# awk $3 ~ /e/ && $4 ~ /g/ b.txt
d t e g

 

8、输出第3列没有匹配e的行

[root@centos7 test3]# cat b.txt
e t s e
s g m x
w d g i
d t e g
x g e w
[root@centos7 test3]# awk $3 !~ /e/ b.txt
e t s e
s g m x
w d g i

 

9、匹配包含两个关键词中间的所有行

[root@centos7 test3]# cat c.txt
1 张三 历史 81 B 0.367
2 李四 物理 72 C 0.588
3 李华 数学 87 B+ 0.677
4 方咪 历史 91 A 0.876
5 陈明 语文 81 B 0.812
6 鱼鱼 英语 81 B 0.571
1 张三 历史 81 B 0.367
2 李四 物理 72 C 0.588
3 李华 数学 87 B+ 0.677
4 方咪 历史 91 A 0.876
5 陈明 语文 81 B 0.812
6 鱼鱼 英语 81 B 0.571
[root@centos7 test3]# awk /李四/,/陈明/ c.txt
2 李四 物理 72 C 0.588
3 李华 数学 87 B+ 0.677
4 方咪 历史 91 A 0.876
5 陈明 语文 81 B 0.812
2 李四 物理 72 C 0.588
3 李华 数学 87 B+ 0.677
4 方咪 历史 91 A 0.876
5 陈明 语文 81 B 0.812

 

[root@centos7 test3]# cat a.txt
1 张三 历史 81 B 0.367
2 李四 物理 72 C 0.588
3 李华 数学 87 B+ 0.677
4 方咪 历史 91 A 0.876
5 陈明 语文 81 B 0.812
6 鱼鱼 英语 81 B 0.571
[root@centos7 test3]# awk $4==72,$4==91 {print $0} a.txt
2 李四 物理 72 C 0.588
3 李华 数学 87 B+ 0.677
4 方咪 历史 91 A 0.876

 

linux系统中awk命令 正则匹配

标签:$1   size   lin   命令   数学   正则匹配   centos7   语文   中间   

原文地址:https://www.cnblogs.com/liujiaxin2018/p/14695013.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!