《shell 脚本攻略》--正则表达式的使用
2013-10-19 09:25
621 查看
首先看一下正则表达式的组成部分:
为了匹配给定文本中的所有单词,可以使用下面的正则表达式:
(?【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。
为了匹配给定文本中的所有单词,可以使用下面的正则表达式:
(?【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。
经常使用的正则表达式举例 ^ 行首 $ 行尾 ^ [ t h e ] 以t h e开头行 [ S s ] i g n a [ l L ] 匹配单词s i g n a l、s i g n a L、S i g n a l、S i g n a L [Ss]igna[lL]". 同上,但加一句点 [ m a y M A Y ] 包含m a y大写或小写字母的行 ^ U S E R $ 只包含U S E R的行 [tty]$ 以t t y结尾的行 " . 带句点的行 ^ d . . x . . x . . x 对用户、用户组及其他用户组成员有可执行权限的目录 ^ [ ^ l ] 排除关联目录的目录列表 ^[^d] ls –l | grep ^[^d] 只显示非文件夹的文件 [ . * 0 ] 0之前或之后加任意字符 [ 0 0 0 * ] 0 0 0或更多个 [ iI] 大写或小写I [ i I ] [ n N ] 大写或小写i或n [ ^ $ ] 空行 [ ^ . * $ ] 匹配行中任意字符串 ^ . . . . . . $ 包括6个字符的行 [a- zA-Z] 任意单字符 [ a - z ] [ a - z ] * 至少一个小写字母 [ ^ 0 - 9 " $ ] 非数字或美元标识 [ ^ 0 - 0 A - Z a - z ] 非数字或字母 [ 1 2 3 ] 1到3中一个数字 [ D d ] e v i c e 单词d e v i c e或D e v i c e D e . . c e 前两个字母为D e,后跟两个任意字符,最后为c e " ^ q 以^ q开始行 ^ . $ 仅有一个字符的行 ^".[0-9][0-9] 以一个句点和两个数字开始的行 ' " D e v i c e " ' 单词d e v i c e D e [ V v ] i c e " . 单词D e v i c e或d e v i c e [ 0 - 9 ] " { 2 " } - [ 0 - 9 ] " { 2 " } - [ 0 - 9 ] " { 4 " } 对日期格式d d - m m - y y y y [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } I P地址格式 [ ^ . * $ ] 匹配任意行 [A-Za-z]* 匹配所有单词
常用的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">" tab2 grep -in "code" tab2 忽略大小写 多次过滤 grep -in "code" tab2 | grep "02"
相关文章推荐
- Shell 常识--正则表达式,POSIX字符类以及元字符--总结自《Linux Shell 脚本攻略》
- Shell脚本的编写,sed的使用以及一些正则表达式
- shell 脚本 正则表达式通配符之 "[]" [大三TJB_708]
- shell使用正则表达式来验证数字字符
- Shell脚本攻略03-使用shell进行数学运算
- shell脚本编程(一)正则表达式
- shell脚本学习笔记之grep&正则表达式
- Shell中的if结合正则表达式使用
- Linux--shell脚本之正则表达式
- Linux--shell脚本之正则表达式
- shell脚本学习:循序渐进程序选择流与正则表达式
- shell脚本regex正则表达式
- Linux--shell脚本之正则表达式
- #7 shell脚本编程之正则表达式
- Shell脚本中通过正则表达式匹配IP地址
- 鸟哥Linux私房菜笔记(二):正则表达式、shell脚本
- 在shell脚本中使用*正则的问题
- VBS脚本,中间用到了遍历文件夹,正则匹配。使用了 WScript.Shell 对象的几个方法。
- linux命令行与shell脚本大全_第十九章_正则表达式
- shell脚本:正则表达式-初