标签:
# grep root /etc/passwd /etc/shadow /etc/passwd:root:x:0:0:Super-User:/:/sbin/sh /etc/shadow:root:PdhpgiTZvqa2:13732:::::: 备注:黑体部分是文件名 |
global$grep mypattern hello grep I forget input file(s) ^D global$ global$ ps -ef | grep root global$ grep root /etc/passwd /etc/shadow |
### 0 (范本在指定文件里被查找到。) global$grep root /etc/passwd;echo $? root:x:0:0:Super-User:/:/sbin/sh 0 ### 1 (范本在指定文件里没有查找到) global$grep roo1t /etc/passwd;echo $? 1 ### 2 (指定的目标文件不存在) global$grep root /etc/passwd1;echo $? grep: can‘t open /etc/passwd1 2 备注:Bourn/Korn shell变量,?,返回最后被执行的命令的返回值;C shell变量是status。 |
选项 | 描述 |
-c | 显示符合范本的行的数目而不是显示满足条件的行的内容 |
-h | 不显示文件名 |
-i | 忽略大小写 |
-l | 只列出有满足条件的行的文件的文件名 |
-n | 显示满足条件的行在包含它的文件中的行号 |
-s | 隐形操作,即如果出错不输出任何信息。在用于只检返回值时非常有用。 |
-v | 反向显示,即输出不满足条件的行。 |
元字符 | 功能 | 列子 | 描述 |
^ | 行首 | ‘^love‘ | 匹配所有以love开始的行 |
$ | 行尾 | ‘love$‘ | 匹配所有以love结尾的行 |
.(点) | 匹配任意一个字符 | ‘l..e‘ | 匹配所有包含l,紧跟任意2个字符,再跟一个e的行 |
* | 匹配0个或多个字符 | ‘ *love‘ | 匹配所有包含0个或多个空格,再跟love的行 |
[] | 匹配一个在集合里的字符 | ‘[Ll]ove‘ | 匹配包含Love或love的行 |
[^] | 匹配一个不在集合里的字符 | ‘[^A-K]ove‘ | 匹配不包含从A-K的字符,紧跟ove的行 |
/< | 词首 | ‘/<love‘ | 匹配所有有任一单词以love为首的行 |
/> | 词尾 | ‘love/>‘ | 匹配所有有任一单词以love为尾的行 |
/(../) | 标识匹配的一个或多个字符 | ‘/(love/)ing‘ | 标识一个标注以期后面引用,第一个用/1,一次类推,最多有9个;见列子 |
x/{m/} x/{m,/} x/{m,n/} |
重复字符x:m次 至少m次 在m次到n次之间 |
‘0/{5/}‘ ‘0/{5,/}‘ ‘0/{5,10/} |
如果一个行有:连续5个0,至少连续5个0,连续的0在5到10之间,则满足要求。 |
# 、/usr/bin/grep root /etc/p* /etc/passwd:root:x:0:0:Super-User:/:/sbin/sh /etc/project:user.root:1:::: |
$ /usr/bin/grep . $HOME.profile $ /usr/bin/grep ^$ /etc/passwd | wc -l (本命令统计/etc/passwd里有几行空行) |
$/usr/xpg4/bin/grep -e ‘root‘ -e ‘sys‘ /etc/passwd 或者 $/usr/xpg4/bin/grep -E ‘root|sys‘ /etc/passwd root:x:0:0:Super-User:/:/sbin/sh sys:x:3:3::/: |
$ grep ‘/<[a-z].*n/>‘ /etc/passwd (注意.*,它表示任意个字符,包括空格) |
$ grep ‘/(3/)/.[0-9].*/1 */1‘ /etc/passwd 注:你可以替换3为任意你想要的其他字符 |
$grep ‘[a-z]/{9,/}‘ /etc/passwd |
$ grep -l -i ‘se‘ * |
元字符 | 功能 | 例子 | 描述 |
+ | 匹配一个或多个前导字符 | ‘[a-z]+ove‘ | 匹配一个或多个小写字符,紧跟ove.如love,loove,alove |
? | 匹配0个或一个前导字符 | ‘lo?ve‘ | 匹配以l开始,紧跟零个o或者一个o,在跟ve.如lve,love |
a|b | 匹配a或者b | ‘love|hate‘ | 匹配love或者hate |
() | 分组 | ‘lov(able|ly)?‘ | 匹配lovable或者lovly,或者lov |
$ egrep ‘S(h|u)‘ /etc/passwd |
标签:
原文地址:http://www.cnblogs.com/E-star/p/4187139.html