- 语法一: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$