forerver-elf

grep命令与正则表达式

  搜寻特定字符串the

 常用参数:-a 将binary档案以test档案的方式搜寻数据    -c  计算找到\'搜寻字符串\'的次数    -i 忽略大小写的不同  -n  顺便输出行号  -v  反向选择。即输出没有\'搜寻字符串\'内容的那一行

 $ grep -n \'the\' regular_express 

 $ grep -in \'the\' regular_epress

  字符组匹配

 []中包含的任意一个字符,只能是一个。字符组支持由连字符\'-\'来表示一个范围。当\'-\'前后构成范围时,要求前面的字符的码位小于后面字符的码位。[^...]排除型字符组。排除后面的字符。

 [abc]  a或b或c

 [0-9]  [0123456789] 0~9中任意一个数字

 [\u4e00-\u9fa5]  表示任意一个汉字

 [^a1<]  表示除a、1、<外的其他任意一个字符

 [^a-z]   表示除小写字母外的任意一个字符

 $ grep -n \'t[ae]st\' regular_express.txt

 $ grep -n \'^#\' regular_express.txt

  行首符^与行尾符$

 $ grep -n \'^the\' regular_express.txt  #查询以the为行首的命令符 

 \'^[A-Z]\' 表示以大写字母为开头   \'[^A-Z]\' 表示除大学祖母A-Z的所有字符

 $ grep -n \'d$\' regular_epress.txt   #查询以d字母结尾的行

 $ grep -n \'^$\' regular_express.txt #查找空行

  任意一个字符\'.\'与重复字符\'*\'

 $ grep -n \'a.ou\' regular_express.txt  #查找a?ou?类型的字符  一个小数点只能表示一个未知字符

 *:代表重复前面0个或多个字符

 $ grep -n \'e*\' regular_express.txt  #前面有0个或多个e  

 e*   具有空字符或一个以上的e

 ee* 第一个e必须存在,第二个可以是0或多个e字符

 eee* 前面两个e必须存在,第三个e则可以是0或多个e字符

 ee*e   第一个e和第三个e必须存在,中间可以有0或多个e

  限定连续字符范围{}

 {}可以限制一个范围区间内重复字符数。

 $ grep -n \'o\{2\}\' regular_express.txt  #查找连续的两个o字符

 $ grep -n \'go\{2,5\}g\' regular_express.txt  #查找有2~5geo

 

发表于 2015-08-10 10:25  forever_elf  阅读(139)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章: