shell編程Regex:
1:元字元 [ ] . * ? + ( ) | { } ^ $
2 : [a-z0-9] 表示匹配任一數字和字母的一個
3 : [^a-z] 匹配除了字母的任意一個
4 : ab+c +表示匹配一個或多個+號前面的字元
5 : ab*c *表示匹配沒有或多個*號前面的字元
6 : ab?c ?表示匹配一個?號前面的字元
7 : (ab){2}c 表示匹配兩個ab字元的字元。
8 : (ab)*c (ab)+c (ab)?c 同4,5,6的規則相同,只是匹配所有括弧裡面的字元。
9:^ab 表示匹配以ab開頭的字元, 而[^ab]表示匹配除了字元ab的
10: \<title\> 只匹配title這個單詞,以空格或換行作為分隔字元
linux中的 fgrep grep egrep 命令 grep (global research regular expression and printing)
fgrep 命令不使用Regex,將所有字元當作一般字元匹配在尋找的時候
grep 命令只支援普通的Regex,對擴充的正則不支援
egrep 命令支援所有的擴充Regex。
grep 的幾種常見用法:
1: grep -v 匹配不包含在Regex內的字元 grep -v '^ab' /etc/passwd 不以ab開頭的字元
2: grep --color 將匹配的字元用顏色標記出來
3: grep -o 只顯示匹配的字元,在過濾之後。
4: grep -A2 'abc' /etc/passwd 顯示匹配字元以及匹配字元行的上面兩行
5: grep -B2 'abc' /etc/passwd 顯示 匹配字元以及匹配字元行的下面兩行
6: grep -C3 'abc' /etc/passwd 顯示 匹配字元以及匹配字元行的下面和上面兩行
7: grep -f /etc/shadow /etc/passwd 表示根據/etc/shadow檔案中的內容匹配/etc/passwd中包含
/etc/shadow中的字元
8: grep -E 表示支援擴充Regex,等同於 egrep
9: