linux shell 脚本之深入浅出的grep的用法
今天在纠结grep用法时候,讲解的教材比较少,纠结了较长的时间.最终还是攻下了,拿出来给大家分享. grep 显示匹配一个或多个模式的文本行,时常会作为管道后的第一步,以便对匹配上的数据做进一步处理. 最常见用法,查询文件内字符串 [root@localhost /]# grep root /etc/shadow 参数 -E 使用扩展正则表达式进行匹配,使用grep –E 代替传统的扩展正则表达式 egrep 扩展正则表达式和正则表达式的区别: (-E选项的作用)
[root@localhost space]# touch test [root@localhost space]# cat test|grep -E ''redhat [h-z]'' 当去掉-E选项的时候,正则表达式是不支持这样查询的.
[root@localhost space]# cat test|grep -E ''r?aaa''
[root@localhost space]# cat test|grep -E ''b|z''
[root@localhost space]# cat test|grep -E ''redha(tz|ta)''
[root@localhost space]# cat test|grep -E ''a{3}'' -F 使用固定字符串进行匹配 grep –F 取代传统的 fgrep . 使用正则表达式; 默认情况下 grep 使用的就是正则表达式,grep = grep –F -e 通常,第一个非选项的参数会指定要匹配的模式,这个模式以-号开头时,grep就会混淆,而-e选项就将它确定为参数 [root@localhost space]# cat test|grep -e ''-test'' -i 模式匹配时,忽略大小写 [root@localhost space]# cat test|grep -i test -l 列出匹配模式的文件名称 (列出当前目录下含有test字符串的文件) [root@localhost space]# grep -l ''test'' ./* -q 静默模式,如果匹配成功,则grep会离开,不显示匹配. [root@localhost space]# grep test ./test -s 不显示错误信息 -v 显示不匹配的项 [root@localhost space]# cat test|grep test [root |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |