linux中grep和egrep的用法
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用""号进行转义,直接写成'w(es)t.*\1'就可以了。
1、参数:
-I?:忽略大小写
-c?:打印匹配的行数
-l?:从多个文件中查找包含匹配项
-v?:查找不包含匹配项的行
-n:打印包含匹配项的行和行标
2、RE(正则表达式)
\?忽略正则表达式中特殊字符的原有含义
^?匹配正则表达式的开始行
$?匹配正则表达式的结束行
\<?从匹配正则表达式的行开始
\>?到匹配正则表达式的行结束
[?]?单个字符;如[A]?即A符合要求
[?-?]?范围?;如[A-Z]即A,B,C一直到Z都符合要求
.?所有的单个字符
*?所有字符,长度可以为0
3、举例
#?ps?-ef?|?grep?in.telnetd
root?19955?181?0?13:43:53???0:00?in.telnetd
#?more?size.txt?size文件的内容
b124230
b034325
a081016
m7187998
m7282064
a022021
a061048
m9324822
b103303
a013386
b044525
m8987131
B081016
M45678
B103303
BADc2345
#?more?size.txt?|?grep?'[a-b]'?范围?;如[A-Z]即A,B,C一直到Z都符合要求
b124230
b034325
a081016
a022021
a061048
b103303
a013386
b044525
#?more?size.txt?|?grep?'[a-b]'*
b124230
b034325
a081016
m7187998
m7282064
a022021
a061048
m9324822
b103303
a013386
b044525
m8987131
B081016
M45678
B103303
BADc2345
#?more?size.txt?|?grep?'[b]'?单个字符;如[A]?即A符合要求
b124230
b034325
b103303
b044525
#?more?size.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
#?more?size.txt?|?grep?-i?'b1..*3'?-i?:忽略大小写
b124230
b103303
B103303
#?more?size.txt?|?grep?-iv?'b1..*3'?-v?:查找不包含匹配项的行
b034325
a081016
m7187998
m7282064
a022021
a061048
m9324822
a013386
b044525
m8987131
B081016
M45678
BADc2345
#?more?size.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?-eq?0?-a?-f?/etc/rmmount.conf?]?&&?
if?[?$startnfsd?-ne?0?];?then
elif?[?!?-n?"$_INIT_RUN_LEVEL"?];?then
while?[?$wtime?-gt?0?];?do
wtime=`expr?$wtime?-?1`
if?[?$wtime?-eq?0?];?then
echo?"Usage:?$0?{?start?|?stop?}"
#?more?size.txt
the?test?file
their?are?files
The?end
#?grep?'the'?size.txt
the?test?file
their?are?files
#?grep?'\<the'?size.txt
the?test?file
their?are?files
#?grep?'the\>'?size.txt
the?test?file
#?grep?'\<the\>'?size.txt
the?test?file
#?grep?'\<[Tt]he\>'?size.txt
the?test?file
The?end
http://blog.sina.com.cn/s/blog_4e7cf89d01000c49.html