grep用法詳解

2021-08-30 03:40:07 字數 3871 閱讀 2439

[size=large]grep[/size]

grep一般格式為:

grep [選項]基本正規表示式[檔案]

這裡基本正規表示式可為字串。

[b]grep選項[/b]

常用的g r e p選項有:

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

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

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

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

-n 顯示匹配行及行號。

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

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

[b]3.grep允許使用國際字元模式匹配或匹配模式的類名形式。[/b]

類名及其等價的正規表示式

類     等價的正規表示式        類     等價的正規表示式

[ [ : u p p e r : ] ] [ a - z ] [ [ : a l n u m : ] ] [ 0 - 9 a - za-z]

[ [ : l o w e r : ] ] [ a - z ] [ [ : s p a c e : ] ] [ 空格或t a b鍵]

[ [ : d i g i t : ] ] [ 0 - 9 ] [ [ : a l p h a : ] ] [ a - z a - z ]

查詢列表中的目錄

/home/l/g/tomotoboy >ls -al|grep '^d'

drwx------ 8 tomotoboy member 4096 aug 7 13:45 .

drwxr-xr-x 202 root root 4096 oct 21 2008 ..

drwxr-xr-x 3 tomotoboy member 4096 oct 20 2008 .sunstudio

drwxr-xr-x 2 tomotoboy member 4096 aug 6 16:26 2

drwxr-xr-x 2 tomotoboy member 4096 aug 7 19:16 c

drwxr-xr-x 2 tomotoboy member 4096 jul 29 14:08 main

drwxr-xr-x 2 tomotoboy member 4096 oct 21 2008 seawolf

drwxr-xr-x 2 tomotoboy member 4096 aug 6 16:30 testdirec

查詢包含'oc'的行

/home/l/g/tomotoboy >ls -al|grep 'oc'

drwxr-xr-x 202 root root 4096 oct 21 2008 ..

drwxr-xr-x 3 tomotoboy member 4096 oct 20 2008 .sunstudio

-rwxr-xr-x 1 tomotoboy member 120 oct 20 2008 greeting.sh

-rwxr-xr-x 1 tomotoboy member 116 oct 20 2008 readme.sh

drwxr-xr-x 2 tomotoboy member 4096 oct 21 2008 seawolf

顯示滿足匹配行的所有行的行數

/home/l/g/tomotoboy >ls -al|grep -n '4096'

2:drwx------ 8 tomotoboy member 4096 aug 7 13:45 .

3:drwxr-xr-x 202 root root 4096 oct 21 2008 ..

8:drwxr-xr-x 3 tomotoboy member 4096 oct 20 2008 .sunstudio

9:drwxr-xr-x 2 tomotoboy member 4096 aug 6 16:26 2

11:drwxr-xr-x 2 tomotoboy member 4096 aug 7 19:16 c

41:drwxr-xr-x 2 tomotoboy member 4096 jul 29 14:08 main

50:drwxr-xr-x 2 tomotoboy member 4096 oct 21 2008 seawolf

57:drwxr-xr-x 2 tomotoboy member 4096 aug 6 16:30 testdirec

顯示不包含匹配行的行

/home/l/g/tomotoboy >ls -al|grep -v 'aug'

total 14328

drwxr-xr-x 202 root root 4096 oct 21 2008 ..

-rw------- 1 tomotoboy member 35 mar 4 22:21 .lesshst

drwxr-xr-x 3 tomotoboy member 4096 oct 20 2008 .sunstudio

-rwxr--r-- 1 tomotoboy member 68 jul 30 16:28 change.sed

-rw-r--r-- 1 tomotoboy member 7090822 apr 10 11:00 core.log

-rwxr-xr-x 1 tomotoboy member 7058 mar 4 23:17 factorial

-rw-r--r-- 1 tomotoboy member 75 mar 4 22:59 factorial.c

-rwxr-xr-x 1 tomotoboy member 120 oct 20 2008 greeting.sh

-rw-r--r-- 1 tomotoboy member 4 jul 29 15:17 grepgrepstrings

'.'代表乙個任意字元,檢視包含'm.r'的行

/home/l/g/tomotoboy >ls -al|grep -n 'm.r'

5:-rw------- 1 tomotoboy member 35 mar 4 22:21 .lesshst

20:-rwxr-xr-x 1 tomotoboy member 7058 mar 4 23:17 factorial

21:-rw-r--r-- 1 tomotoboy member 75 mar 4 22:59 factorial.c

27:-rwxr-xr-x 1 tomotoboy member 9940 mar 4 22:56 hello

28:-rw-r--r-- 1 tomotoboy member 94 mar 4 22:17 hello.cpp

42:-rw-r--r-- 1 tomotoboy member 242 mar 4 23:17 main.c

[size=large][b]egrep[/b][/size]

egrep代表expression或extended grep,適情況而定。egrep接受所有的正規表示式,egrep的乙個顯著特性是可以以乙個檔案作為儲存的字串,然後將之傳給egrep作為引數,為此使用- f開關。

強大的grep用法詳解 grep與正規表示式

首先要記住的是 正規表示式與萬用字元不一樣,它們表示的含義並不相同 正規表示式只是一種表示法,只要工具支援這種表示法,那麼該工具就可以處理正規表示式的字串。vim grep awk sed 都支援正規表示式,也正是因為由於它們支援正則,才顯得它們強大 在以前上班的公司裡,由於公司是基於web的服務型...

強大的grep用法詳解 grep與正規表示式

from 首先要記住的是 正規表示式與萬用字元不一樣,它們表示的含義並不相同 正規表示式只是一種表示法,只要工具支援這種表示法,那麼該工具就可以處理正規表示式的字串。vim grep awk sed 都支援正規表示式,也正是因為由於它們支援正則,才顯得它們強大 在以前上班的公司裡,由於公司是基於we...

grep用法詳解 grep與正規表示式

首先要記住的是 正規表示式與萬用字元不一樣,它們表示的含義並不相同 正規表示式只是一種表示法,只要工具支援這種表示法,那麼該工具就可以處理正規表示式的字串。vim grep awk sed 都支援正規表示式,也正是因為由於它們支援正則,才顯得它們強大 1基礎正規表示式 grep 工具,以前介紹過。g...