Linux Shell Scripting Cookbook 读书笔记 4

正则, grep正则表达式

1. 正则表达式spa

 正则表达式  描述  示例
^ 行起始标记  ^hell匹配以hell开头的行
$ 行尾标记  test$匹配以test结尾的行
. 匹配任意一个字符  hell.匹配hell1,hell2,可是不能匹配hell12,只能匹配单个字符
[] 匹配包含在[字符]之中的任意一个字符  test[123]匹配test1,test2,test3
[^] 匹配除[^字符]以外的任意一个字符  test[^12]不匹配test1,test2,匹配test3
[-] 匹配指定范围内的任意一个字符  [0-10],匹配0~10中的任意一个数字
? 匹配以前的项1次或者0次  hel?o匹配helo或者heo
+ 匹配以前的项1次或者屡次  hel+o匹配helo或者helllllo,可是不能匹配heo
* 匹配以前的项0次或屡次  hel*o匹配helo或者helllllo,也能匹配heo
() 建立一个用于匹配的子串  ma(tri)?能够匹配ma或者matri
{n} 匹配以前的项n次  [0-9]{3}匹配任意一个三位数
{n,} 匹配以前的项至少n次  [0-9]{3,}匹配任意一个三位或者更多位的数
{n,m} 匹配以前的项n到m次  [0-9]{3,4}匹配一个三位到四位的数
| 匹配 | 两边的任意一项  June (1st | 2nd)匹配June 1st或者June 2nd
\ 转义符可将上面的符号转义  a\*b匹配a*b,不能匹配ab

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. grep3d

递归搜索blog

grep "text" . -R -n递归

-R 表示在当前目录递归搜索,-n打印出匹配的文件的行号table

 

若是须要排除目录,能够使用--exclude-dirtest

打印出匹配行的先后行搜索

多个匹配以--分隔grep

相关文章
相关标签/搜索