Linux Shell Scripting Cookbook 读书笔记 4

正则, grep

1. 正则表达式

 正则表达式  描述  示例
^ 行起始标记  ^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. grep

递归搜索

grep "text" . -R -n

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

 

如果需要排除目录,可以使用--exclude-dir

打印出匹配行的前后行

多个匹配以--分隔

 

posted @ 2018-06-28 20:08  平静缓和用胸音说爱  阅读(162)  评论(0编辑  收藏  举报