您的位置首页百科知识

shell中grep和egrep用法

shell中grep和egrep用法

Shell脚本笔记

grep和egrep用法

1、 grep和egrep只有很小的区别,egrep是grep的扩展,支持更多的re元字符,grep可以通过-E命令选项来使用egrep。

2、 grep与egrep命令选项

-? 同时显示匹配行上下的?行,例:grep -2 pattern filename同时显示匹配行的上线2行

-c只打印匹配的行数,不显示匹配内容

-f File --file=fileName 从文件中提取模板,空文件包含0个模板,什么都不显示

-h --no-filename 当搜索多个文件时,不显示匹配的文件前缀

-i --ignore-case 忽略大小写

-q --quiet 取消显示,只返回退出状态,0表示找到了匹配行

-I --file-with-match 打印匹配模板的文件清单

-L --file-without-macth 打印不匹配的文件清单

-n --line-number在匹配的行前面的行号

-s --silent 不显示关于不存在或者无法读取文件的错误信息

-v --revert-macth反检索只显示不存在的行

-w –word-regexp如果被\引用,就把表达式作为一个单词搜索

3、 POSIX字符集

为了在不同的国家的字符集中保持一致,posix增加了特殊的字符类,如[:alnum:]是A-Za-z0-9的另一个写法,要把他们放在[]中才能成为正则表达式,如[A-Za-z0-9]或[[:alnum:]]。

[[:alnum:]] 文字数字字符

[[:alpha:]] 文字字符

[[:digit:]] 数字字符

[[:graph:]] 非空字符(非空格,控制字符)

[[:lower:]] 小写字符

[[:cntrl:]] 控制字符

[[:print:]] 非空字符(包括空格)

[[:punct:]] 标点符号

[[:space:]] 所有空白字符(新行,空格,制表符)

[[:upper:]] 大写字符

[[:xdigit:]] 十六制数字(0-9,a-f,A-F)