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