linux環境下grep的相關含義

2021-09-25 21:52:11 字數 1872 閱讀 9972

1.什麼是grep

linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱是global regular expr

ession print,表示全域性正規表示式版本,它的使用許可權是所有使用者。

2.使用格式

grep [options]

例如:echo "hello world" |  grep -e --color '^h'

其中的grep -e --color '^h'

以h為開頭出現一次擴充套件正規表示式

-e:擴充套件模式(extended)

去掉-e,為基準模式(basic)匹配,對於某些字元必須要取轉義

3.主要引數

[options]主要引數:

-c:只輸出匹配行的計數。

-i:不區分大 小寫(只適用於單字元)。

-h:查詢多檔案時不顯示檔名。

-l:查詢多檔案時只輸出包含匹配字元的檔名。

-n:顯示匹配行及 行號。

-s:不顯示不存在或無匹配文字的錯誤資訊。

-v:顯示不包含匹配文字的所有行。

pattern正規表示式主要引數:

\: 忽略正規表示式中特殊字元的原有含義。

^:匹配正規表示式的開始行。

$: 匹配正規表示式的結束行。

\\>:到匹配正規表示式的行結束。

[ ]:單個字元,如[a]即a符合要求 。

[ - ]:範圍,如[a-z],即a、b、c一直到z都符合要求 。

。:所有的單個字元。

* :有字元,長度可以為0。

4.grep命令使用簡單例項

$ grep 『test』 d*

顯示所有以d開頭的檔案中包含 test的行。

$ grep 『test』 aa bb cc

顯示在aa,bb,cc檔案中匹配test的行。

$ grep 『[a-z]\』 aa

顯示所有包含每個字串至少有5個連續小寫字元的字串的行。

$ grep 『w\(es\)t.*\1′ aa

如果west被匹配,則es就被儲存到記憶體中,並標記為1,然後搜尋任意個字元(.*),這些字元後面緊跟著 另外乙個es(\1),找到就顯示該行。如果用egrep或grep -e,就不用」\」號進行轉義,直接寫成』w(es)t.*\1′就可以了。

5,常用的grep命令

(1)多個檔案查詢

grep "sort" *.doc       #見檔名的匹配

(2)行匹配:輸出匹配行的計數

grep -c "48" data.doc   #輸出文件中含有48字元的行數

(3)顯示匹配行和行數

grep -n "48" data.doc       #顯示所有匹配48的行和行號

(4)顯示非匹配的行

grep -vn "48" data.doc      #輸出所有不包含48的行

(4)顯示非匹配的行

grep -vn "48" data.doc      #輸出所有不包含48的行

(5)大小寫敏感

grep -i "ab" data.doc       #輸出所有含有ab或ab的字串的行

4, 正規表示式的應用

(1)正規表示式的應用 (注意:最好把正規表示式用單引號括起來)

grep '[239].' data.doc      #輸出所有含有以2,3或9開頭的,並且是兩個數字的行

(2)不匹配測試

grep '^[^48]' data.doc      #不匹配行首是48的行

(3)使用擴充套件模式匹配

grep -e '219|216' data.doc

(4) ...

這需要在實踐中不斷應用和總結,熟練掌握正規表示式。

Linux下find與grep指令的相關用法

grep命令 find命令是linux中最有用的命令之一。用於 在乙個目錄 及子目錄 中搜尋檔案,你可以指定一些匹配條件,如按檔名 檔案型別 使用者甚至是時間戳查詢檔案。下面就通過例項來體驗下find命令的強大。find命令的一般形式為 find h l p d debugopts olevel p...

Linux下環境相關話題

一 設定語言環境 在linux中通過locale來設定程式執行的不同語言環境,locale由 ansi c提供支援。locale的命名規則為 如zh cn.gbk,zh代表中文,cn代表大陸地區,gbk表示字符集。locale分類 語言符號及其分類 lc ctype 數字 lc numeric 比較...

linux下的grep命令

grep global search regular expression re and print out the line,全面搜尋正規表示式並把行列印出來 是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。a不要忽略二進位制資料。a 顯示列數 除了顯示符合範本樣式的那...