grep的使用

来源:互联网 发布:通信达股票软件 mac版 编辑:程序博客网 时间:2024/06/05 00:19

grep的使用:


一、grep一般格式:

grep [选项] 基本正则表达式 [文件]
这里的正则表达式可以为字符串。在grep命令中输入字符串参数时,最好将其用双引号括起来。调用变量时也可以使用双引号。在调用模式匹配事,应使用单引号。

二、grep常用选项:
-c 只输出匹配行的计数。
-i  不区分大小写(只用于单字符)。
-h 查询多文件时不显示文件名。
-l  查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v  显示不包含匹配文本的所有行。

三、常用选项的使用:
1、 查询多个文件:
$grep “hello” *.doc
num.doc:hello
sum.doc:hello world
说明在num.doc 和sum.doc中有字符串“hello“。

2、 行匹配:
$grep -c “123” *.doc
num.doc:2
sum.doc:2
说明在num.doc 和sum.doc中有字符串“123“各为两行。

3、 显示满足匹配模式的所有行数:
$grep –n “123” *.doc
num.doc:1:hao 123
num.doc:2:hao 123
sum.doc:2:hao 123
sum.doc:4:hao 1234

4、 显示所有不包含“123“的行:
$grep -v “123” *.doc
num.doc:hello
num.doc:world
sum.doc:hello world
sum.doc:sui yue

5、 精确匹配:
如第三点,匹配“123”时,结果返回了“1234”的其它字符串。
$grep -n “123\>” *.doc
num.doc:1:hao 123
num.doc:2:hao 123
sum.doc:2:hao 123

6、 大小写敏感:
缺省情况下,grep是大小写敏感的,如果要查询大小写不敏感的字符串,必须
使用-i选项。
$grep -i “just” *.doc
num.doc:Just
num.doc:just

四、grep和正则表达式
1、模式范围:
$ grep ‘48[34]’ mydata.doc
此命令在mydata.doc中匹配字符串“483”和“484”。
2、 不匹配行首:
$ grep ‘^[^48]’ mydata.doc
此命令在mydata.doc中匹配除4或者8开头的行。
3、 设置大小写:
$ grep ‘[Ss]ept’ mydata.doc
此命令在mydata.doc中匹配字符串“Sept”和“sept”。
4、匹配任意字符:
$ grep ‘a…z’ mydata.doc
此命令在mydata.doc中匹配字符串以字符a开头和字符z结尾,中间为任意三个字符。
5、 模式出现的机率
$ grep ‘1\{2,\}’ mydata.doc

此命令说明数字1至少出现两次


转载自:http://tieba.baidu.com/f?ct=335675392&tn=baiduPostBrowser&sc=13489341352&z=1161289091&pn=0&rn=30&lm=0&rs16=1&word=%CE%E4%BA%BA%BB%AA%C7%B6#13489341352



原创粉丝点击