正则表达式:
1.grep:-n显示行号,-i是忽略大小写,-v是反向查找,以…开头,如果在中括号里面,它是对后面内容的否定比如【w】oo表示的意识查找oo前面不是w的,如果是在中括号外面,则是匹配以括号里面字母开头的行,在里面是指不以字母开头。
例:grep -n 【^a-z】oo test.txt
过滤oo前不是以小写字母开头
2.[]中括号代表查找中括号里面的字符之一,凡是中括号里面有的字符都被查找出来,
例:
grep -n ‘sh[io]rt’ test.txt
表达的意思是匹配shirt或者short
grep -n ‘[1-9]’ test.txt
凡是中括号里面有数字之一的都被过滤出来。
3,^是以…开头,$是以…结尾
\ .$ 把以点结尾的过滤出来
grep ‘bash$’ /etc/passwd
过滤出来以bash结尾的行
grep ^$ test.txt
过滤出来空行
greo -v ^$ test.txt
把空行以外的行显示出来,即加上-v
4.grep -n ‘w…d’ test.txt
过滤出来有w和d中间有任意两个字符的行
点代表任意单个字符
5.*代表重复的零个或多个前面单个字符
比如o*连续多个o(包括零个)
例:
ooo前面有两个o的被过滤出来,前面的o代表零个或多个o,即过滤出来两个或多个o。
6.大括号{},‘wo \ {2,5 \ }d’ , 匹配前面是wo,结尾是d中间有2-5个字符的行
例:grep -n ‘wo \ {2,5 \ }d’ test.txt
grep -n 'wo\ {2,\ }'d test.txt
中间至少有两个字符