正则表达式练习题

基础正则: grep ^ $ ^$ . * .* [] [^]
扩展正则:egrep  +    |    ()    {}    a{n,m}

忘记 正则表达式的 朋友可以先去 复习一下: linux正则表达式语法

复制下面内容到test.txt

I am lizhenya teacher!
I teach linux.
test

I like badminton ball ,billiard ball and chinese chess!
my blog is http: blog.51cto.com
our site is http:www.lizhenya.com
my qq num is 593528156

#aaaa,
#not 572891888887.
^^^^^^^^66$$$$$$$^^^$$
baimeibaimeibaimei

1.过滤出以t开头的行

grep '^t' test.txt

 

2.过滤出以t或者m开头的行

egrep '^t|^I' test.txt

 

3.过滤出文件中的空行

grep '^$' test.txt

4.过滤出以!结尾的行

grep '!$' test.txt

5 .过滤出以任意字符串结尾的行

grep '.*$' test.txt

6.过滤出以.结尾的行

grep '\.$' test.txt

7过滤出以#开头的行

grep '^#' test.txt

8.过滤出文件中以#开头的和空行并进行取反

egrep -v '^#|^$' test.txt

9.过滤文件中包含es或者an或者或者www的行

egrep 'es|an|www' test.txt

10 .以空格分隔过滤出所有的单词并统计每个单词出现的次数

egrep -o '[a-Z]+' test.txt |sort|uniq -c|sort -rn

11.过滤出lizhenya之外的所有行

grep -v 'lizhenya' test.txt

17.过滤出文件中的QQ号

egrep '[0-9]{9}' test.txt

18. 只查找3714开头的身份证号码
[root@baimei~]#cat id.txt
李 2113421234
张 500224197
王 1233423423432baimei
万 5baimei
吕 lzy235872451234814
孔 150000123874591242
夏 222113859123487192
赵 37142518322922103X123
大 37142X183229221032

 

egrep -o '\b3714[0-9]{13}[0-9X]\b' id.txt

19.匹配3714的身份证 值取出来
[root@baimei~]#cat id.txt
李 2113421234
张 500224197
王 1233423423432baimei
万 5baimei
吕 lzy235872451234814
孔 150000123874591242
夏 222113859123487192
赵 37142518322922103X123
大 37142X183229221032
ok 371425183229221032
赵 4234137142518322922103X123
李 42341371425183339111035123

 

egrep -o '\b3714[0-9]{13}[0-9X]\b' id.txt

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章