linux下正则表达式匹配命令grep与egrep的用法,grep正则表达式与egrep的区别。
grep正则表达式与egrep用法
如果| |左边的命令(命令1)未执行成功,那么就执行| |右边的命令(命令2)
如果使用{ }来代替(),那么相应的命令将在子s h e l l而不是当前s h e l l中作为一个整体被执行,只有在{ }中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子s h e l l中执行,否则在当前s h e l l执行。
^ 行首
$ 行尾 ^ [ t h e ] 以t h e开头行 [ S s ] i g n a [ l L ] 匹配单词s i g n a l、s i g n a L、S i g n a l、S i g n a L [Ss]igna[lL]". 同上,但加一句点 [ m a y M A Y ] 包含m a y大写或小写字母的行 ^ U S E R $ 只包含U S E R的行 [tty]$ 以t t y结尾的行 " . 带句点的行 ^ d . . x . . x . . x 对用户、用户组及其他用户组成员有可执行权限的目录 ^ [ ^ l ] 排除关联目录的目录列表 ^[^d] ls –l | grep ^[^d] 只显示非文件夹的文件 [ . * 0 ] 0之前或之后加任意字符 [ 0 0 0 * ] 0 0 0或更多个 [ iI] 大写或小写I [ i I ] [ n N ] 大写或小写i或n [ ^ $ ] 空行 [ ^ . * $ ] 匹配行中任意字符串 ^ . . . . . . $ 包括6个字符的行 [a- zA-Z] 任意单字符 [ a - z ] [ a - z ] * 至少一个小写字母 [ ^ 0 - 9 " $ ] 非数字或美元标识 [ ^ 0 - 0 A - Z a - z ] 非数字或字母 [ 1 2 3 ] 1到3中一个数字 [ D d ] e v i c e 单词d e v i c e或D e v i c e D e . . c e 前两个字母为D e,后跟两个任意字符,最后为c e " ^ q 以^ q开始行 ^ . $ 仅有一个字符的行 ^".[0-9][0-9] 以一个句点和两个数字开始的行 ' " D e v i c e " ' 单词d e v i c e D e [ V v ] i c e " . 单词D e v i c e或d e v i c e [ 0 - 9 ] " { 2 " } - [ 0 - 9 ] " { 2 " } - [ 0 - 9 ] " { 4 " } 对日期格式d d - m m - y y y y [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } I P地址格式 [ ^ . * $ ] 匹配任意行 [A-Za-z]* 匹配所有单词
二,常用的grep命令选项
例子:
grep -v "Sort" tab2 显示不包含匹配文本的所有行
grep -n "Sort" tab2 显示匹配行及行号 grep -c "Sort" tab2 只输出匹配行的计数 精确匹配: grep "01">" tab2 grep -in "code" tab2 忽略大小写 多次过滤 grep -in "code" tab2 | grep "02"
使用grep匹配“与”或者“或”模式
类 等价的正则表达式
[ [ : u p p e r : ] ] [ A - Z ] [ [ : a l n u m : ] ] [ 0 - 9 a - zA-Z] [ [ : l o w e r : ] ] [ a - z ] [ [ : s p a c e : ] ] 空格或t a b键 [ [ : d i g i t : ] ] [ 0 - 9 ] [ [ : a l p h a : ] ] [ a - z A - Z ]
大多数系统管理员称 / d e v / n u l l为比特池, 可以将之看成一个无底洞,有进没有出,永远也不会填满。
ps -ef | grep "name"|grep -v "grep"
egrep命令
egrep '(Code|Sort)' tab2
(责任编辑:IT) |