grep
2015-07-03 09:12
477 查看
grep (global search regular expression(RE) and print out the line)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 参数:1. -ANUM,--after-context=NUM 除了列出符合行之外,并且列出后NUM行。如: $ grep –A1 panda file (从file中搜寻有panda样式的行,并显示该行的后1行) 2. -BNUM,--before-context=NUM 与-A NUM 相对,但这此参数是显示除符合行之外并显示在它之前的NUM行。如: (从file中搜寻有panda样式的行,并显示该行的前1行)$ grep -B 1 panda file 3、 -C[NUM], -NUM, --context[=NUM] 列出符合行之外并列出上下各NUM行,默认值是2。 如: (列出file中除包含panda样式的行外并列出其上下2行)(若要改变默认值,直接改变NUM即可)$ grep -C[NUM] panda file 4、 -c, --count 不显示符合样式行,只显示符合的总行数。若再加上-v,--invert-match,参数显示不符合的总行数5、-i,--ignore-case 忽略大小写差别 6、-n,--line-number 在匹配的行前面打印行号 7、-v,--revert-match 反检索,只显示不匹配的行 8、精确匹配:例如在抽取字符串“ 48”,返回结果包含诸如484和483等包含“48”的其他字符串,实际上应精确抽取只包含48的各行。 使用grep抽取精确匹配的一种有效方式是在抽取字符串前加\<,在抽取字符串后加\>。假定现在精确抽取48,方法如下:#grep '\<48\>' filename 9、-s 不显示不存在或无匹配文本的错误信息如:执行命令grep "root" /etc/password,因为password文件不存在,所以在屏幕上输出错误信息,若使用grep命令-s开关,可屏蔽错误信息 要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。 $ ls -l | grep '^d'
通过管道过滤ls -l输出的内容,只显示以d开头的行。 $ grep 'test' d*
显示所有以d开头的文件中包含test的行。 $ grep 'test' aa bb cc
显示在aa,bb,cc文件中匹配test的行。 $ grep '[a-z]\{5,\}' aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。 $grep ‘t[a|e]st’ filename显示包含test或tast的所有行。 $grep '\.$' filename显示以.为结尾的所有行。
通过管道过滤ls -l输出的内容,只显示以d开头的行。 $ grep 'test' d*
显示所有以d开头的文件中包含test的行。 $ grep 'test' aa bb cc
显示在aa,bb,cc文件中匹配test的行。 $ grep '[a-z]\{5,\}' aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。 $grep ‘t[a|e]st’ filename显示包含test或tast的所有行。 $grep '\.$' filename显示以.为结尾的所有行。
相关文章推荐
- Linux socket 初步
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区
- Linux VS Unix:Linux欲一统天下 Unix不死
- linux下设定环境变量
- Linux下修改MySQL编码的方法