grep 用法

Grep : g (globally) search for a re (regular expression ) and p (print ) the results.

1、参数:

-I:忽略大小写

-c:打印匹配的行数

-l:从多个文件中查找包含匹配项

-v:查找不包含匹配项的行

-n:打印包含匹配项的行和行标

2、RE(正则表达式)

\忽略正则表达式中特殊字符的原有含义

^匹配正则表达式的开始行

$匹配正则表达式的结束行

\<从匹配正则表达式的行开始

\>;到匹配正则表达式的行结束

[]单个字符;如[A]即A符合要求

[-]范围;如[A-Z]即A,B,C一直到Z都符合要求

.所有的单个字符

*所有字符,长度可以为0

3、举例

#ps-ef|grepin.telnetd

root19955181013:43:53?0:00in.telnetd

#moresize.txtsize文件的内容

b124230

b034325

a081016

m7187998

m7282064

a022021

a061048

m9324822

b103303

a013386

b044525

m8987131

B081016

M45678

B103303

BADc2345

#moresize.txt|grep'[a-b]'范围;如[A-Z]即A,B,C一直到Z都符合要求

b124230

b034325

a081016

a022021

a061048

b103303

a013386

b044525

#moresize.txt|grep'[a-b]'*

b124230

b034325

a081016

m7187998

m7282064

a022021

a061048

m9324822

b103303

a013386

b044525

m8987131

B081016

M45678

B103303

BADc2345

#moresize.txt|grep''单个字符;如[A]即A符合要求

b124230

b034325

b103303

b044525

#moresize.txt|grep'[bB]'

b124230

b034325

b103303

b044525

B081016

B103303

BADc2345

#grep'root'/etc/group

root::0:root

bin::2:root,bin,daemon

sys::3:root,bin,sys,adm

adm::4:root,adm,daemon

uucp::5:root,uucp

mail::6:root

tty::7:root,tty,adm

lp::8:root,lp,adm

nuucp::9:root,nuucp

daemon::12:root,daemon

#grep'^root'/etc/group匹配正则表达式的开始行

root::0:root

#grep'uucp'/etc/group

uucp::5:root,uucp

nuucp::9:root,nuucp

#grep'\<uucp'/etc/group

uucp::5:root,uucp

#grep'root$'/etc/group匹配正则表达式的结束行

root::0:root

mail::6:root

#moresize.txt|grep-i'b1..*3'-i:忽略大小写

b124230

b103303

B103303

#moresize.txt|grep-iv'b1..*3'-v:查找不包含匹配项的行

b034325

a081016

m7187998

m7282064

a022021

a061048

m9324822

a013386

b044525

m8987131

B081016

M45678

BADc2345

#moresize.txt|grep-in'b1..*3'

1:b124230

9:b103303

15:B103303

#grep'$'/etc/init.d/nfs.server|wc-l

128

#grep'\$'/etc/init.d/nfs.server|wc–l忽略正则表达式中特殊字符的原有含义

15

#grep'\$'/etc/init.d/nfs.server

case"$1"in

>;/tmp/sharetab.$$

["x$fstype"!=xnfs]&&\

echo"$path\t$res\t$fstype\t$opts\t$desc"\

>;>;/tmp/sharetab.$$

/usr/bin/touch-r/etc/dfs/sharetab/tmp/sharetab.$$

/usr/bin/mv-f/tmp/sharetab.$$/etc/dfs/sharetab

if[-f/etc/dfs/dfstab]&&/usr/bin/egrep-v'^[]*(#|$)'\

if[$startnfsd-eq0-a-f/etc/rmmount.conf]&&\

if[$startnfsd-ne0];then

elif[!-n"$_INIT_RUN_LEVEL"];then

while[$wtime-gt0];do

wtime=`expr$wtime-1`

if[$wtime-eq0];then

echo"Usage:$0{start|stop}"

#moresize.txt

thetestfile

theirarefiles

Theend

#grep'the'size.txt

thetestfile

theirarefiles

#grep'\<the'size.txt

thetestfile

theirarefiles

#grep'the\>;'size.txt

thetestfile

#grep'\<the\>;'size.txt

thetestfile

#grep'\<[Tt]he\>;'size.txt

thetestfile

Theend