Centos下grep命令簡介

2021-07-04 12:42:24 字數 1811 閱讀 2142

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/passwd
grep適用的正規表示式

^錨定行的開始 如:』^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...