shell三剑客之grep
前言
grep怎么出来的?
这就需要我们庖丁解牛了,“g/RE/p”看到没,就是这样“global Regular Expression print”==>“全局查找正则表达式(RE)并且打印结果行。”
grep家族由命令grep,egrep和fgrep组成。后两者是前者的变体。一个胖了,一个瘦了而已。
使用grep的好处就在于,不需要启动编辑器就可以执行查找操作,也用不着把pattern放在“//”里,使用grep要比vi快的多,并且还多了许多命令行选项。
格式
grep -option 'pattern' filename 或者
|grep -option 'pattern'
grep的正则表达式元字符
见上文shell之正则表达式:
http://1076546426.blog.51cto.com/9959876/1702784
grep选项
选项功能-b在每行前面加上其所在的块号,根据上下文定位磁盘块时可能会用到-c显示匹配到的行的数目,而不显示行的内容-h不显示文件名-i匹配字符时忽略大小写-l只列出匹配行所在文件的文件名(每个文件名只列一次),文件名之间用换行符分隔-n在每一行的前面加上它在文件中的相对行号-s无声操作,即只显示报错信息,以检查退出状态-v反向查找,只显示不匹配的行
-w把表达式作为词来查找,只适用于grep。=====\<\>
注:更多选项请查看:grep -h 或者 man grep
egrep新增元字符
元字符功能+匹配一个或多个+号以前的字符?匹配1个或0个前导字符a|b匹配a或b()字符组
思路拓展:
示例注解'[a-z]+ove'匹配1个或多个字母后跟ove的字符串'lo?ve'匹配l后跟ove或ve的字符串'love|hate'匹配love和hate这两个字符串之一'love(able|ly)'匹配loveable或lovely声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。