利用正则表达式的各种格式及用法
主要利用正则表达式进行搜索查找的命令常用的为grep(检索)、egrep(扩展grep)和fgrep。
grep:利用正则表达式以及文本信息等条件检索文件中信息的命令,并显示包含匹配的字符串的行。
格式: grep [options] 'pattern' filename
options:选项(可省略)
pattern:正则表达式及文本
filename:文件名
选项:
-i:忽略字符大小写
--color:给匹配的字符串加颜色
-o:只显示匹配的“字符串”
-v:显示没有被匹配到的行
-A #:显示匹配到的行以及其下面的#行(共#+1行)
-B #:显示匹配到的行以及其上面的#行
-C #:显示匹配到的行以及其上面#行和上面#行(共#+#+1行)
pattern:
'.' :表示单个任意字符
'*' :表示匹配之前字符任意次
'.*':表示任意长度的任意字符
'[]':匹配任意单个字符的行
[:alpha:] [:digit:] [:alnum:] [:lower:] [:upper:]
'[^]':匹配任意非该字符的行
\{m,n\}:匹配前面的字符最少m次,最多n次
\? :匹配前面字符0次或1次
\< :匹配词首为其后面字符的行 \> :匹配词尾为其前面字符的行
\<字符串\> :匹配单词‘字符串’所在的行
^ :匹配行首为其后字符的行 $ :匹配行尾为其前字符的行
^$ :匹配空白行
^字符串$ :匹配整行为‘字符串’的行
\(字符串\) :组团
例: ^\(abc\)[[:space:]]\1$ :匹配内容为‘abc abc’的行
\1 表示表达式中第一个组团,\2:表示第二个,以此类推
扩展表达式中
格式: egrep [options] pattern [files...]
{m,n} 匹配前面字符最少m次,最多n次
+ 匹配前面字符最少一次 类似{1,}
() 组团
| 或者 B|boy 表示B或者boy (B|boy)表示Boy或者boy
其余用法同grep类似
fgrep 不支持正则表达式