linux系统之shell编程-正则表达式


shell编程正则表达式:

1:元字符 [ ] . * ? + ( ) | { } ^ $

2 : [a-z0-9] 表示匹配任意数字和字母的一个

3 : [^a-z] 匹配除了字母的任意一个

4 : ab+c +表示匹配一个或多个+号前面的字符

5 : ab*c *表示匹配没有或多个*号前面的字符

6 : ab?c ?表示匹配一个?号前面的字符

7 : (ab){2}c 表示匹配两个ab字符的字符。

8 : (ab)*c (ab)+c (ab)?c 同4,5,6的规则相同,只是匹配所有括号里面的字符。

9:^ab 表示匹配以ab开头的字符, 而[^ab]表示匹配除了字符ab的

10: \<title\> 只匹配title这个单词,以空格或换行作为分隔符

linux中的 fgrep grep egrep 命令 grep (global research regular expression and printing)

fgrep 命令不使用正则表达式,将所有字符当作普通字符匹配在查找的时候

grep 命令只支持普通的正则表达式,对扩展的正则不支持

egrep 命令支持所有的扩展正则表达式。

grep 的几种常见用法:

1: grep -v 匹配不包含在正则表达式内的字符 grep -v '^ab' /etc/passwd 不以ab开头的字符

2: grep --color 将匹配的字符用颜色标记出来

3: grep -o 只显示匹配的字符,在过滤之后。

4: grep -A2 'abc' /etc/passwd 显示匹配字符以及匹配字符行的上面两行

5: grep -B2 'abc' /etc/passwd 显示 匹配字符以及匹配字符行的下面两行

6: grep -C3 'abc' /etc/passwd 显示 匹配字符以及匹配字符行的下面和上面两行

7: grep -f /etc/shadow /etc/passwd 表示根据/etc/shadow文件中的内容匹配/etc/passwd中包含

/etc/shadow中的字符

8: grep -E 表示支持扩展正则表达式,等同于 egrep

9:

相关内容