正则表达式就是一个字符串,有一定的规律。

使用工具:grep、sed、awk。


grep

  --color              显示颜色

     -n                   显示行号

     -c                   显示行数

     -v                   取反

     -A  数字             显示符合行,同时显示符合行下面的n条行      

     -B  数字             显示符合行,同时显示符合行上面的n条行

     -C  数字             显示符合行,同时显示符合行各上下面的n条行

     -r                   遍历目录

     -h                   遍历目录时,结果不显示文件名,和-r一起连用

     -i                   不区分大小写


grep  主要用于过滤包含字符的所在行。

[root@wy ~]# grep 'root' /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin


显示颜色和行号

WEBRESOURCEa4a79a10c02cc54a36aa2f5316b40


显示符合的行数

[root@wy ~]# grep -c 'root' /etc/passwd

2


显示符合行并同时显示符合行下面的n条行

WEBRESOURCE303536861ed71962bc98a04b961c5


显示符合行并同时显示符合行上面的n条行

WEBRESOURCE557a2d9151d2a0c509280b6b2c7fd


显示符合行并同时显示符合行各上下面的n条行

WEBRESOURCE387163009987fd3eeee029eb86b29


过滤不包含此字符的

WEBRESOURCE1f7e01cf699c09871f10bb7f531dd


过虑包含数字的

WEBRESOURCEed979c51922bbb7b5910d874d258a


过滤包含指定字符的

[root@wy ~]# grep --color '[yN]' /etc/passwd


过虑所有字母的

[root@wy ~]# grep  '[a-zA-Z]' /etc/passwd


匹配以字母开头的行

WEBRESOURCEdf661185229c8bdabd31d787ba0e0


匹配以数字开头的行

[root@wy ~]# grep --color '^[0-9]' /etc/passwd


匹配不包含数字的行'[^0-9]'

WEBRESOURCE5d2250f8b42f5c78bd22aa0c8d30f


匹配不以数字开头的行

WEBRESOURCEc187569fe790f7b4e70cd34d18a63


匹配空行

[root@wy ~]# grep '^$' /etc/passwd


. 表示任意一个字符

WEBRESOURCE437cf5fdf346efc0c76dc0cb90176


*表示0个或多个*前面的字符

WEBRESOURCEc50c1005765c07f029b00bcfb86a3


.*任意字符(贪婪匹配)

WEBRESOURCEd3f6686de726d30ec39ba8aa2adcc


?表示0或1个问号前面的字符(得用\先脱义一下)

WEBRESOURCE4c7cfa5cd092cf9c1669903c67f2f


但不想用脱义符,可以加-E选项,一样的效果(grep -E==egrep)

WEBRESOURCE97a446411fa610a820e5c4fb4ee60


注:如果vim编辑文件时异常退出了,还在vim界面下,会产生一个临时的swp的文件,可以把它删掉。


+ 表示1个或多个加号前面的字符(+也是特殊字符,也需要转义,可以使用egrep不需要转义)

WEBRESOURCE65e715a3fa13ac1d274219b6db016


| 表示或者

WEBRESOURCE8f6ed529f513bacedbf05484a53af


表示并且不能用&,只能这样写

WEBRESOURCE445cca28dffeeac1e28d272bd4cec


()表示括号里的是一个整体

WEBRESOURCE9b58003cac857f369caaf00b51d31


(){}表示一个范围,指定次数

WEBRESOURCE4f97968fe157c6cdb814c749ca028


总结:? +  |  ()  {}  这些特殊符号需要脱义