《shell 脚本攻略》--正则表达式的使用
首先看一下正则表达式的组成部分:

为了匹配给定文本中的所有单词,可以使用下面的正则表达式:
(?【a-zA-Z】+?)"?"用于匹配单词前后可能出现的空格。[a-z][A-Z]+代表一个或多个字母(a~z和A~Z)
为了匹配一个IP地址,可以使用下面的正则表达式:
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
处理特殊字符:
正则表达式$、^、.、*、+、{}等作为特殊字符。
对于正则表达式:[a-z]*.[0-9]
它可以匹配0个或多个[a-z]([a-z]*),接任意单个字符(.),再接[0-9]中的任意一个字符,所以能够匹配abcd09。
常用的g r e p选项-c 只输出匹配行的计数。-i 不区分大小写(只适用于单字符)。-h 查询多文件时不显示文件名。-l 查询多文件时只输出包含匹配字符的文件名。-n 显示匹配行及行号。-s 不显示不存在或无匹配文本的错误信息。-v 显示不包含匹配文本的所有行。例子grep -v "Sort" tab2 显示不包含匹配文本的所有行grep -n "Sort" tab2 显示匹配行及行号grep -c "Sort" tab2 只输出匹配行的计数精确匹配: grep "01">" tab2grep -in "code" tab2 忽略大小写多次过滤grep -in "code" tab2 | grep "02"