在linux中grep命令用於查詢檔案裡符合條件的字串。
grep指令用於查詢內容包含指定的範本樣式的檔案,如果發現某檔案的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何檔名稱,或是所給予的檔名為「-」,則grep指令會從標準輸入裝置讀取資料。
grep [-abcefghhillnqrsvvwxy][-a《顯示列數》][-b《顯示列數》][-c《顯示列數》][-d《進行動作》][-e《範本樣式》][-f《範本檔案》]
●-e : 開啟擴充套件(extend)的正規表示式。
●-i : 忽略大小寫(ignore case)。
●-v : 取反(invert),只列印沒有匹配的,匹配到的不進行列印
●-n :顯示行號
●-w : 被匹配的文字只能是單詞,而不能是單詞的某一部分,例如文字中有liker,而我只進行搜尋like,就可以用-w選項來避免匹配liker。
●-c : 顯示總共有多少行被匹配到了,而不是顯示被匹配到的內容,注意如果同時使用-cv選項是顯示多少行沒有被匹配到。
●-o : 只顯示被模式匹配到的字串。
●--color :將匹配到的字串以顏色高亮顯示。
●-a n : 顯示匹配到的字串所在的行及其後n行,after
●-b n : 顯示匹配到的字串所在的行及其前n行,before
●-c n : 顯示匹配到的字串所在的行及其前後各n行,context
● . : 任意乙個字元。
●[abc] : 表示匹配乙個字元,這個字元必須是abc中的乙個。
●[a-za-z] :表示匹配乙個字元,這個字元必須是a-z或a-z這52個子母中的乙個。
●[^123] : 匹配乙個字元,這個字元是除了1,2,3以外所有的字元。
對於一些常用的字符集,系統也對此做了定義
●[a-za-z] 等價於 [[:alpha:]]
●[0-9] 等價於 [[:digit:]]
●[a-za-z0-9] 等價於 [[:alnum:]]
●tab , space 等價於 [[:space:]]
●[a-z] 等價於 [[:upper:]]
●[a-z] 等價於 [[:lower:]]
●標點符號 [[:punct:]]
●\ : 匹配其前面出現的字元至少m次,最多n次。
●\? : 匹配其前面出現的內容任意次,等價於\。
●* : 匹配其前面出現的內容任意次,等價於\,所以」.*」表述任意字元任意次,即無論什麼內容都會進行匹配。
● ^ : 錨定行首
● $ : 錨定行尾。技巧:」^$」用於匹配空白行。
●\b或\< : 錨定單詞的詞首。如」\blike」不會匹配alike,但是會匹配liker。
●\b或\> : 錨定單詞的詞尾。如」\blike\b」不會匹配alike和liker,只會匹配like
●\b : 與\b的作用相反。
<1>、在/etc/passwd檔案中找出以ro開頭的行。
<2>、在/etc/passwd檔案中找出以sh詞首開頭的行。
<3>、在/etc/passwd檔案中找出以sh詞尾結尾的行。
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的使用
核心 grep的基本操作 grep是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來 選項 a 不要忽略二進位制資料 a 顯示列數 除了顯示符合範本樣式的那一行之外,並顯示該行之後的內容 b 在顯示符合范文樣式的那一行之外,並顯示該行之前的內容。c 計算符合范文樣式的列數 c...