前言
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 |
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。