一篇让你学会linux正则表达式

<1.grep和egrep的选项:

-v(反向匹配invert)

-o(仅匹配符合要求的only)

-n(添加行号number)

-i(忽略大小写ignore)

-A  n(输出匹配行之后的n行after)

-B n(输出匹配行之前的n行before)

-C(匹配上下文center)   

-E(对扩展正则的支持)

-r(递归查找recursion)

<2.元字符:

\b:单词的界定     (\bxiaomi\b=\<xaiomi\>)

?:0或1个字符

+:1个以上字符

*:任意个字符

.*:任意个任意字符

^$:代表空行

<3.经典的例子:

^feng   以feng开头
feng$  以feng结尾
^$       空行
feng.*   feng+任意个任意字符
^feng$  只有feng
\<feng   空格或其他字符+feng+任意个任意字符
\bfeng     空格或其他字符+feng+任意个任意字符
\<feng\>   空格或其他字符+feng+空格或其他字符
\bfeng\b    空格或其他字符+feng+空格或其他字符
feng{2,7}   fen+2-7个g

(feng){2,7}  2-7个feng
(abc|xia){8}    8个abc或者xia
feng?        fen+0或1个g
feng*        fen+任意个g
feng+        fen+一个以上g
[0-9]        数字0-9
[^a-z]        非小写字母
[A-Z]        大写字母
[0-Z]        数字及大小写字母
<4.习题

1.进入/lianxi目录,复制/etc/passwd到当前目录下,然后对passwd进行操作

2、查找出当前passwd文件中以ftp或者mail开头的行,在屏幕上输出。

一篇让你学会linux正则表达式

 3、查找出当前passwd文件中首行不是以r、m、f开头的行,在屏幕上输出。

一篇让你学会linux正则表达式

 一篇让你学会linux正则表达式

4、查找出当前passwd文件中以bash结尾的行。 一篇让你学会linux正则表达式

 5、查找出/etc/login.defs文件中的有效行(不显示空行和注释行)。一篇让你学会linux正则表达式

 6、查找出/var/log/messages文档中有16个字母的单词?

一篇让你学会linux正则表达式

 7、查找出来/etc/passwd文件里用户名包含liu同时使用bash的用户

一篇让你学会linux正则表达式

 
8、查找/etc/ssh/sshd_config 里的有效行

一篇让你学会linux正则表达式

 9、查找出/etc/ssh/sshd_config 文件里的包含连续2个数字的行

一篇让你学会linux正则表达式

 10、查找出包含特殊字符的行

一篇让你学会linux正则表达式

 11、查找出不包含数字的行

一篇让你学会linux正则表达式

 

上一篇:不使用useradd 创建用户


下一篇:支付宝小程序注意事项