1. 什麼是grep搜尋命令
grep是乙個強大的搜尋工具
grep (global search regular expression(re
) and print out the line,全面搜尋正規表示式並把行列印出來)是一種強大的文字搜尋工具,
它能使用正規表示式搜尋文字,由正規表示式或者字元及基本文字字元所編寫的過濾條件,並把匹配的行列印出來。
用於過濾/搜尋的特定字元。可使用正規表示式能多種命令配合使用,在使用上十分靈活
2. 什麼是grep -e 擴充套件搜尋命令
grep 正規表示式與擴充套件正規表示式
grep -e 「[1-9]+」 = egrep 「[1-9]+」
正規的grep 不支援擴充套件的正規表示式,豎線是用來表達「或」的擴充套件正規表示式元字元,正規的 grep無法識別,加上反斜槓,這個字元就被翻譯成擴充套件正規表示式,就像egrep 和grep -
e一樣
3. grep中的正規表示式
grep的格式:
grep 匹配條件 處理檔案
該實驗我們用desktop來完成
首先複製乙份/etc/passwd到當前目錄,ls 可以看到,在當前路徑中,passwd檔案已經存在
編輯passwd檔案
由於passwd檔案內容太多,我們實際上用不了這麼多的字元,因此將內容刪掉一部分,再加上後三行內容,如下圖所示
這樣我們就將待匹配的字元檔案準備好了
從passwd檔案中過濾出含有root關鍵字的行
從passwd檔案中擴充套件過濾出含有「root」和「root」的行
不區分大小寫從passwd檔案中擴充套件過濾出含有root關鍵字的行
從passwd檔案中不區分大小寫過濾出以「root」關鍵字為開頭和結尾的行
-v表示除了,第二條命令的意思是,從passwd檔案中不區分大小寫過濾出root關鍵字在中間的行
-n表示顯示行號
從passwd檔案中不區分大小寫過濾出以root關鍵字開頭或結尾的行,並且顯示行號
-n2表示輸出關鍵字以及前後兩行
從passwd檔案中過濾出root關鍵字的行並且顯示其前後兩行(後邊只顯示了一行是因為第36行以後沒有內容)
同樣,-n1表示輸出關鍵字以及前後1行
grep中的正規表示式 字元
說明^xy
以xy開頭
xy$以xy結尾
『x…y』
xy中間有4個字元
『x…』
x後邊有4個字元
『…y』
y前邊有4個字元
4. grep中字元的匹配位置設定
grep中字元的匹配位置設定 位置
說明^關鍵字
以關鍵字為開頭
關鍵字$
以關鍵字為結尾
\ 《關鍵字
以關鍵字為開頭並且關鍵字前邊沒有任何字元
關鍵字\>
以關鍵字為結尾並且關鍵字後邊沒有任何字元
\< 關鍵字\>
關鍵字前後都沒有任何字元
編輯westos檔案
寫入以下內容
匹配xy中0-任意個字元
匹配x和y中只能有乙個字元
過濾出x和y中只能有3個字元
修改westos檔案內容
寫入的內容如下圖
過濾x出現0-任意次y出現1個
過濾x字元出現0到1次y出現1個
修改westos檔案內容
過濾x出現1到任意次y出現1個
過濾x乙個y出現1個
過濾x乙個y出現1個
過濾x在開頭出現乙個,y出現1次
過濾x出現在開頭,y出現在結尾(避免貪婪模式)
過濾x出現1到任意次,y出現一次
過濾xy這個整體出現2次以上
shell 正規表示式 grep
grep c etc passwd grep c etc passwd egrep c etc passwd 在vim下面用 s aaa 可將所有字串 替換為aaa 找的是空行,包括回車 最好用egrep而且搜尋的正規表示式要加雙引號或單引號,最好是雙引號 基本正規表示式原字元 元字元功能示例說明 ...
grep 及 正規表示式
grep 根據模式搜尋文字,並將符合模式的文字行顯示出來。pattern 文字字元和正規表示式的元字元組合而成的匹配條件 i 忽略大小寫 color 顯示標註顏色 v 顯示沒有被模式匹配到的行 o 只顯示被匹配到的字串 任意長度的任意字元 任意單個字元 指定範圍內的 指定範圍外的 元字元 匹配任意單...
grep及正規表示式
grep,egrep,fgrep grep 根據模式搜尋文字,並將符合模式的文字行顯示出來。pattern 文字字元和正規表示式的元字元組合而成匹配條件 grep options pattern file.i color v 顯示沒有被模式匹配到的行 o 只顯示被模式匹配到的字串 任意長度的任意字元...