正則表達式
正則表達式就是一套處理大量的字符串而定義的規則和方法。
通過正則表達式這些特殊字符號,可以快速的過濾、替換需要的內容。
基礎正則表達式(Basic regular expression)
1) ^ :例如 ^word 以word開頭的內容
2)$ :例如 word$ 以word結尾的內容
3)^$ :空行
4). :表示且只能代表任意一個字符(當前目錄,加載文件)
5)\ :轉移字符,讓有著特殊身份的字符,變回原來的字符。
6)* :重複0個或多個前面的一個字符,不代表所有。
7).* :匹配所有的字符。^.* 任意多個字符開頭。
8)[abc] :匹配字符集合內任意一個字符[a-z]
9)[^abc] :^在中括號表示非,表示不包含a或者b或者c
10){n,m} :前一個字符,重複n到m次
{n,} :至少N次,多了不限。
{n} :N次
{,m} :最多m次,少了不限。
注意:grep 要對{轉義} \{\} ,egrep (grep -E )不需要轉義
grep 命令:
-v 排除匹配的內容
-E 支持擴展的正則表達式
-i 忽視大小寫
-o 只顯示匹配的內容
--color=auto 顯示匹配顏色
-n 顯示行號
測試
測試內容:
word1
word2word3word4word5
word1word1word1word1
ppppppp
ptp
獲取空行(加上-n查看空行是哪幾行):
grep -E -n '^$' /tmp/1.txt
結果:
5:
獲取以w開通的行:
grep --color=auto -E '^w' /tmp/1.txt
結果:
word1
word2word3word4word5
word1word1word1word1
獲取以1為結尾的行:
grep --color=auto -E "1$" /tmp/1.txt
結果:
word1
word1word1word1word1