正则, 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