51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

正则表达式练习题

基础正则: 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

  1. 只查找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

赞(5)
未经允许不得转载:工具盒子 » 正则表达式练习题