支持linux正則表達(dá)式的工具有:grep:實(shí)現(xiàn)查找,sed,awk:都是流式編輯器,可以實(shí)現(xiàn)查找和替換,并且把替換的文本輸出到屏幕上。
grep工具
grep [-cinvABC] 'word'
-c:打印符合要求的行數(shù)
-i:忽略大小寫
-n:輸出符合要求的行及行號(hào)。
-v:打印不符合要求的行
-A: 后面跟一個(gè)數(shù)字(有無空格都可以),-A2表示打印符合要求的行以及下面兩行
-B:后面跟數(shù)字,-B3 打印符合要求的行以及上面三行。
-C:后面跟一個(gè)數(shù)字,-C24打印符合要求的行以及上下各四行
# grep -c 'a' 1.txt
# grep -A3 'a' 1.txt
# grep -n 'b' 1.txt 過濾帶有關(guān)鍵詞的行,顯示行號(hào)。
# grep -nv 'ab' 1.txt 不符合要求的行及行號(hào)
# grep [0-9] 1.txt 過濾出所有包含數(shù)字的行
# grep -v [0-9] 1.txt 過濾出不包含數(shù)字的行
#grep -v '^#' 1.txt 過濾掉所有已#開頭的行
# grep -v '^#' 1.txt |grep -v '^$' 過濾掉所有以空行和以#開頭的行($表示結(jié)尾,空行可以用^$表示)
sed 工具
sed -n 'a'p filename a是一個(gè)數(shù)字,表示第幾行 ,-n 表示我們要打印的行,無關(guān)緊要的內(nèi)容不顯示。
# sed -n '2'p 1.txt 顯示第二行內(nèi)容
# sed -n '1,10'p 1.txt 顯示1-10行內(nèi)容
# sed -n '1,$'p 1.txt 顯示所有行
#sed -n '/aa/'p 1.txt 打印包含aa的行
添加-e可以實(shí)現(xiàn)多種行為
#sed -e '1'p -e '/aabb/'p -n 1.txt 顯示第一行和包含aabb的行
查詢時(shí),排除某些行
sed '1' d 1.txt 顯示所有內(nèi)容時(shí),排除第一行。
sed '1,3'd 1.txt 排除第一到第三行
總結(jié)
以上所述是小編給大家介紹的CentOS中的正則表達(dá)式,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!