文档介绍:正则表达式( regular express) 基本上是一种“表示法”,他是以行为单位来进行字符串的处理行为。只能使用在支持它的工具程序(如 vi、 grep 、 awk 、 sed 中)。正则表达式与 shell 通配符的关系就像是局部变量和全局变量的关系(即以后遇到一个命令如果支持正则表达式,则通配符概念抛弃。否则使用通配符)。正则表达式又分为:基础正则表达式和扩展正则表达式。后者除了简单的一组字符串处理之外,还可以做组的字符串处理。注意语系对正则表达式的影响,因为每一种语系都有自己的编码顺序(以几个 bit 位表示的二进制值代表一个字符,该二进制值的大小顺序,即相应的字符大小顺序),所以 a-z 语系不一样,取出的结果也不一定一样。一般都是将 LAN G 设置为 C,即依据 ASCII 码编码顺序来识别。字符类代表意义[:alnum:] 代表英文大小字符及数字,即 0-9 , A-Z , a-z [:alpha:] 代表任何英文大小字符,即 A-Z , a-z [:blank:] 代表空格键与 tab 按键[:cntrl:] 代表键盘上面的控制按键,既包括 CR , LF, Tab , Del 等[:digit:] 代表数字,即 0-9 [:graph:] 除了空格与 tab 按键之外的其它所有按键[:lower:] 代表小写字符,即 a-z [:print:] 代表任意可打印字符[:punct:] 代表标点符号,即"'?!;:#$ [:upper:] 代表大写字符,即 A-Z [:space:] 任何会产生空白的字符,包括空格键, Tab 键, CR 等[:xdigit:] 代表十六进制的数字类型,因此包括 0-9 , A-F , a-f 的数字与字符基础正则表达式语法( RE语法):一个字符串如果是正则表达式表示的,则其中的任意字符被称为 RE字符。基础 RE字符意义与范例^word 意义:待查找的字符串(word) 在行首范例:查找行首为#开头的哪一行,并列出行号 grep -n'^#' word$ 意义:待查找的字符串(word) 在行尾范例:将行尾为!的那一行打印出来,并列出行号 grep -n'!$' .意义:代表一定有一个任意字符的字符( 除换行符),在 aw k 中可匹配换行符范例:查找的字符串可以使(eve)(eae)(eee) 等,即e与e之间一定要有一个字符,不能是(ee) ! grep -n'' \意义:转义字符,将特殊符号的特殊意义去除,将普通字符变为特殊字符。范例:查找含有单引号'的那一行 grep -n\' *意义:重复 0个到无穷多个前一个字符范例:找出含有(es)(ess)(esss) 等的字符串,注意,因为*可以是 0个,所以 es也是符合待查找字符串。另外,因为*为重复“前一个 RE字符”的符号,因此在*之前一定要紧接着一个 RE字符!例如任意字符则为.* grep -n'ess*' [list] 意义:从字符集合的 RE字符里面找出想要选取的字符(不包括换行符),在 awk 中可以包含换行符。注意此时中括