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