grep 是乙個最初用於unix作業系統的命令列工具。在給出檔案列表或標準輸入後,grep會對匹配乙個或多個正規表示式的文字進行搜尋,並只輸出匹配(或者不匹配)的行或文字。
grep 可根據提供的匹配模式列表,查詢檔案中的匹配行.發現匹配行後,行內容會被標準輸出(默 認),如果使用了其它引數,可以產生其它格式的輸出
grep 用於匹配文字,它對輸入行的長度沒有限制,除非受限於可用記憶體大小,並且可以匹配行內任意字元。
grep -[acinv] '搜尋內容串' filename常用引數選項
-c計算找到的符合行的次數。
-i忽略大小寫。
-n顯示匹配行及行號。
-v找到沒有搜尋字串的行。
-h查詢多檔案時不顯示檔名。
-l查詢多檔案時只輸出包含匹配字元的檔名。
-s不顯示不存在或無匹配文字的錯誤資訊。
grep -c '503' /var/log/httpd/error_log-20141116
grep -n 'error' /var/log/httpd/error_log-20141116
grep -nv 'error' /var/log/httpd/error_log-20141116
#centos下檢視安裝的python版本rpm -qa | grep -i python
#ubuntu下檢視安裝的python版本
sudo dpkg -l | grep -i python
#匹配 # 符號的行,但是輸出的是 # 符號以外的行#-n的話, 會在結果中,列出匹配字串的序列號,並且會列出內容
grep -n 'word' /path/to/file
grep -l 'main' *.pls
grep --color apache /etc/passwdgrep適用的正規表示式
^錨定行的開始 如:』^grep』匹配所有以grep開頭的行。
$錨定行的結束 如:』grep$』匹配所有以grep結尾的行。
.匹配乙個非換行符的字元 如:』gr.p』匹配gr後接乙個任意字元,然後是p。
*匹配零個或多個先前字元 如:』*grep』匹配所有乙個或多個空格後緊跟grep的行。
匹配乙個指定範圍內的字元,如'[gg]rep』匹配grep和grep。
[^]匹配乙個不在指定範圍內的字元,如:'[^a-fh-z]rep』匹配不包含a-r和t-z的乙個字母開頭,緊跟rep的行。
.*一起用代表任意字元。
\(..\)
標記匹配字元,如』\(love\)』,love被標記為1。
\以某單詞開頭
word\>
以某單詞結尾
x/重複字元x,m次,如:』0\』匹配包含5個o的行。
x\重複字元x,至少m次,如:』o\』匹配至少有5個o的行。
x\重複字元x,至少m次,不多於n次,如:』o\』匹配5–10個o的行。
\w匹配文字和數字字元
\b單詞鎖定符,如: 『\bgrep\b』只匹配grep。
Linux 下 grep 命令常用方法簡介
1 從單個檔案中搜尋指定的字串 grep literal string filename 該命令會輸出字串在檔案中所在行的內容,如果字串沒有空格,則可以不加雙引號。filename 可以是多個檔案,每個檔案用空格隔開。2 顯示匹配行附近的多行 grep a n string filename gre...
Linux 下 grep 命令常用方法簡介
1 從單個檔案中搜尋指定的字串 grep literal string filename 該命令會輸出字串在檔案中所在行的內容,如果字串沒有空格,則可以不加雙引號。filename 可以是多個檔案,每個檔案用空格隔開。2 顯示匹配行附近的多行 grep a n string filename gre...
Linux系統grep命令簡介
root x 0 0 root root bin bash operator x 11 0 operator root sbin nologin將 etc passwd,有出現 root 的行取出來,同時顯示這些行在 etc passwd的行號 pingguo localhost work grep...