grep / egrep 正则表达式

  • 语法一:grep [-cinvABC]  'word'. filename 

-c :打印符合要求的行数

MacBook-Pro:develop qiuxuefei$ grep -c 71 passwd 

1

-i :忽略大小写

MacBook-Pro:develop qiuxuefei$ grep -i cvs passwd 

_cvs:*:72:72:CVS Server:/var/empty:/usr/bin/false

-n :在输出符合要求的行的同时连同行号一起输出

MacBook-Pro:develop qiuxuefei$ grep -n 71 passwd 

32:_eppc:*:71:71:Apple Events User:/var/empty:/usr/bin/false

-v :打印不符合要求的行

MacBook-Pro:develop qiuxuefei$ grep -v 71 passwd 

##

# User Database

说明:省略了部分

-A :后跟一个数字(有无空格都可以),例如 –A2则表示打印符合要求的行以及下面两行

MacBook-Pro:develop qiuxuefei$ grep -A2 71 passwd 

_eppc:*:71:71:Apple Events User:/var/empty:/usr/bin/false

_cvs:*:72:72:CVS Server:/var/empty:/usr/bin/false

_svn:*:73:73:SVN Server:/var/empty:/usr/bin/false

-B :后跟一个数字,例如 –B2 则表示打印符合要求的行以及上面两行

MacBook-Pro:develop qiuxuefei$ grep -B2 71 passwd 

_ard:*:67:67:Apple Remote Desktop:/var/empty:/usr/bin/false

_www:*:70:70:World Wide Web Server:/Library/WebServer:/usr/bin/false

_eppc:*:71:71:Apple Events User:/var/empty:/usr/bin/false

-C :后跟一个数字,例如 –C2 则表示打印符合要求的行以及上下各两行

MacBook-Pro:develop qiuxuefei$ grep -C2 71 passwd 

_ard:*:67:67:Apple Remote Desktop:/var/empty:/usr/bin/false

_www:*:70:70:World Wide Web Server:/Library/WebServer:/usr/bin/false

_eppc:*:71:71:Apple Events User:/var/empty:/usr/bin/false

_cvs:*:72:72:CVS Server:/var/empty:/usr/bin/false

_svn:*:73:73:SVN Server:/var/empty:/usr/bin/false

补充案例:

筛选所有包含数字的行

MacBook-Pro:develop qiuxuefei$ grep '[0-9]' passwd 

# See the opendirectoryd(8) man page for additional information about

nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false

root:*:0:0:System Administrator:/var/root:/bin/sh

排除所有包含数字的行

MacBook-Pro:develop qiuxuefei$ grep -v '[0-9]' passwd 

##

# User Database

排除所有以 ‘#’ 开头的行

MacBook-Pro:develop qiuxuefei$ grep -v '^#' passwd 

nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false

root:*:0:0:System Administrator:/var/root:/bin/sh

daemon:*:1:1:System Services:/var/root:/usr/bin/false

筛选任意一个字符与重复字符

MacBook-Pro:develop qiuxuefei$ grep 'A.......s' passwd 

_krb_anonymous:*:234:-2:Open Directory Kerberos Anonymous:/var/empty:/usr/bin/false

_analyticsd:*:263:263:Analytics Daemon:/var/db/analyticsd:/usr/bin/false

MacBook-Pro:develop qiuxuefei$ grep 'A......s' passwd 

_mobileasset:*:253:253:MobileAsset User:/var/ma:/usr/bin/false

指定要过滤字符出现的次数

MacBook-Pro:develop qiuxuefei$ grep 'o\{2\}' passwd 

root:*:0:0:System Administrator:/var/root:/bin/sh

daemon:*:1:1:System Services:/var/root:/usr/bin/false

_uucp:*:4:4:Unix to Unix Copy Protocol:/var/spool/uucp:/usr/sbin/uucico

_lp:*:26:26:Printing Services:/var/spool/cups:/usr/bin/false

_postfix:*:27:27:Postfix Mail Server:/var/spool/postfix:/usr/bin/false

_cvmsroot:*:212:212:CVMS Root:/var/empty:/usr/bin/false

MacBook-Pro:develop qiuxuefei$ grep 'o\{3\}' passwd 

MacBook-Pro:develop qiuxuefei$

猜你喜欢

转载自my.oschina.net/u/3771523/blog/1634254