正则表达式是基于样式匹配的进行文本处理,透过一些特殊符号的辅助,可以达到搜寻、删除、取代某特定的字符串。

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。

我们利用这些返回值就可进行一些自动化的文本处理工作。

正则表达式分为基本正则表达式和扩展正则表达式;grep: 默认支持基本正则表达式。egrep: 扩展正则表达式,是grep的扩展。

元字符:不表示字符本身的意义,而用于额外功能性的描述,只有一部分文本处理工具支持它;

基本正则表达式:

\:转义符,可以将下面的特殊字符转义成普通字符。a\.b 匹配a.b、ca.b,不能匹配acb; a\*b匹配a*b、a*bb从文件file包含有这个a*b.ab的那一行 grep "a\*b\.ab" file^:行起始标记。^te匹配所有以te开头的行从文件file匹配以the开头的那一行 grep "^the" file$:行尾标记,锚定行的结束 如:end$匹配所有以end结尾的行匹配空白行grep "^$" file[]:匹配包含在 [字符]  之中的任意一个字符。te[abc]匹配tea、teb
^]:匹配不包含在 [字符]  之中的任意一个字符。te[^----zA-?:匹配之前项的1次或0次。a\?*:匹配之前项任意次。a**\-]\{-]\{-]\{,<:锚定单词的开始,如:>:锚定单词的结束,如
-o: 只显示被模式匹配到的字串,而不是整个行;
 -i: 不区分字符大小写;
-A #:显示匹配到的行时,顺带显示其后面的#个行;
    -B #:前面的#行;
-C #:前后的#行;
-E: 使用扩展的正则表达式
grep -E = egrep

匹配 1.0.0.1 ~ 223.255.255.254

grep、egrep_特殊符号


如果需要在多级目录中对文本进行递归搜索,可以使用

grep、egrep_特殊符号_02