1.grep的作用
Global search regular expression(RE) ,簡稱grep;是一種強大的文本搜索工具,可以使用正則運算式搜索文本,并把匹配列印出來,
2.grep常用引數
-v #排除,取 -n #顯示行號 -E #支持擴展正則運算式(與egrep作用相同) -i #==ignore-case忽略大小寫 -w #==word以單詞格式查找 -c #統計匹配上的行數(統計包含xxx的有多少行) -A #==after 匹配行的后幾行 -B #==before 匹配行的前幾行 -C #匹配行的前后幾行 -o #顯示匹配程序 -r #在目錄下遞回的在所有檔案中查找需要的內容
-s #不顯示不存在或無匹配文本的錯誤資訊
-l #查詢檔案時只輸出包含匹配文本的錯誤資訊
-h #查詢檔案時不顯示檔案名
3.grep命令操作練習
(1)在 dks.txt 檔案中匹配上 test 的行數
grep -c "test" dks.txt
(2)統計在 dks.txt 檔案中,test 字串出現的次數
grep -o "test" dks.txt |wc -l
(3)列印 test 的行及行號
grep -n "test" dks.txt
(4)不區分大小寫查找 tEst 所有行
grep -i "tEst" dks.txt
(5)匹配以字符 test 開頭,接 5 或 3 的行
grep "test[53]" dks.txt
(6)顯示輸出行首不是 test 的行
grep "^[^test]" dks.txt
(7)匹配 M 或 m 開頭的行
grep "^[mM].*" dks.txt
(8)匹配 K 和 D,并且 K 和 D 中間有三個任意字符
grep "K..D" dks.txt
(9)匹配大寫字母,緊跟 9D 的字符行
grep "[A-Z]9D" dks.txt
(10)列印 T 字符連續出現 2 次以上的行
grep "T\{2,\}" dks.txt
(11)列印 T 字符連續出現 2 次至 6 次之間的行
grep "T\{2,6\}" dks.txt
(12)列印空行所在的行號
grep -n "^$" dks.tx
(13)不匹配檔案中的#號和空行
grep -vE "^$|#" dks.txt
(14)在/data 目錄下,匹配檔案中包含 db 或者 config 或者 sql 的檔案
grep -ra -E "db|config|sql" /data
(15)匹配 ip 地址
ifconfig eth0 |grep "inet "|grep -E "\<([0-9]{1,3}\.?){4}" -o|head -1
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/158258.html
標籤:Linux
