首頁  >  文章  >  php教程  >  Grep用法小結

Grep用法小結

高洛峰
高洛峰原創
2016-12-13 14:36:371220瀏覽

使用grep搜尋檔案內容-快速、方便

 

1.作用
    grep指令可指定檔案中搜尋特定的內容,並將含有這些內容的行標準輸出。 grep全名為Global Regular Expression Print,表示全域正規表示式版本,它的使用權限是所有使用者。
2.格式
    grep [options]

基本格式
grep pattern [file...]
(1)grep 搜尋字串 [filename]
(2)grep 正規表示法在所有檔案中都表示盤式5 pattern 出現的位置, pattern 既可以是要搜尋的字串,也可以是一個正規表示式.
注意:在輸入要搜尋的字串時最好使用雙引號/而在模式匹配使用正規表示式時,注意使用單引號
3.主要參數
[options]主要參數:
-c:只輸出匹配行的計數。
-I:不區分大小寫(只適用於單字元)。
-h:查詢多檔案時不顯示檔案名稱。
-l:查詢多檔案時只輸出包含符合字元的檔案名稱。
-n:顯示符合行及行號。
-s:不顯示不存在或無符合文字的錯誤訊息。
-v:顯示不包含符合文字的所有行。

註:有c 的時候n將失效

pattern正規表示式主要參數:正規表示式的應用 (注意:最好將正規表示式用單引號括起來)
:忽略正規表示式中特殊字元的原始碼有意義。
^:符合正規表示式的開始行。
$: 符合正規表示式的結束行。
>:到符合正規表示式的行結束。
[ ]:單一字符,如[A]即A符合要求 。
[ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。
。 :所有的單一字元。
* :有字符,長度可以為0。


下面還有一些有意思的命令列參數:

grep -i pattern files :不區分大小寫地搜尋。預設區分大小寫,

grep -l pattern files :只列出符合的檔案名,

grep -L pattern files :列出不符合的檔案名,

grep -w pattern files :只符合整個單字,而不是字串的一部分(如匹配'magic',而不是'magical'),

grep -C number pattern files :匹配的上下文分別顯示[number]行,

grep pattern1 | pattern2 files :顯示匹配pattern1 或 pattern2 的行,

grep pattern1 files | grep pattern2 :顯示既符合 pattern1 又符合 pattern2 的行。

grep -n pattern files  即可顯示行號資訊

grep -c pattern files  即可找出總行數


  正規表示式(也稱為“regex”或“regexp”)是一個可以描述一類字串的模式(Pattern)。如果一個字串可以用某個正規表示式來描述,我們就說這個字元和該正規表示式匹配(Match)。這和DOS中使用者可以使用通配符「*」代表任意字元類似。在Linux系統上,正規表示式通常被用來尋找文字的模式,以及對文字執行「搜尋-取代」操作和其它功能。



1、grep 搜尋字串 [filename]

 

使用下列文字與文字

I created gilf.

 

1、在 grep.txt 檔案中搜尋字串 golf 的所有實例,並輸出包含該字串的行

grep golf grep.gre

I likegolf.gre "golf" grep.txt

1:I like golf.

 

2、grep 正規表示式 [filename]

grep -n '[gG]olf' grep[filename]

grep -n '[gG]olf' grep.[filename]

grep -n '[gG]olf' grep..

2:Golf is played on grass.

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn