• 技术文章 >数据库 >mysql教程

    grep 技巧10则

    2016-06-07 15:30:07原创852

    欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 warning:文中提到的选项如果posix未指定,会特殊说明。 1 多个关键字查找 1.1 关键字间 or i. 使用-e #包含了string.h或者stdlib.h的头文件grep -l -e 'string\.h' -e 'stdlib\.h' /usr/include/*.h

    欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

      warning:文中提到的选项如果posix未指定,会特殊说明。

      1 多个关键字查找

      1.1 关键字间 or i. 使用-e

      #包含了string.h或者stdlib.h的头文件grep -l -e 'string\.h' -e 'stdlib\.h' /usr/include/*.h

      -e 选项还可以避免 关键字是-开头的导致选项解读失败。

      ii. 使用元字符 \|

      grep 'strint\.h\|stdlib\.h' /usr/include/*.h #使用-E 看着舒服grep -E 'string\.h|stdlig\.h' /usr/include/*.h

      iii. 使用-f file cat >multi_pattern stdlib\.h string\.h grep -l -f multi_pattern /usr/include/*.h

      1.2 关键字间 and i. 通过管道

      #同时包含'hello','world'的行echo hello world | grep '\' | grep '\'

      ii. 通过正则 |

      grep -E 'pattern1.*pattern2|pattern2.*pattern1'

      如果包含2个关键字还好,要是n个就有n!种可能!

      2. 单词匹配i. -w(gnu 选项)

      grep -w 'main' /usr/include/*.h

      这个-w很方便ii. \<\> grep '\' /usr/include/*.h

      3.善用 -E -E选项启用 extended expression,正则写起来更加灵活#查看gcc帮助文件里两个the/that/and/or连在一起的行man gcc | grep -E '(\|\|\|\) \1' man gcc | grep -E -w '(the|that|and|or) \1' #查看gcc帮助文件里含两个连续单词的行man gcc | grep -E -w '([a-zA-Z]+) \1'

      使用-E让书写更方便,省去很多的\,同时功能更强大。

      4 忽略大小写 -i #查看INT_MAX的值grep -i 'int_max' /usr/include/limits.h

      -i与\n同时使用的乱象#匹配连续相同单词echo 'it IT' | grep -i -w -E '([a-z]+) \1' echo 'it IT' | grep -E -w '([a-zA-Z]+) \1'

      这是两个相同的单词吗?是的,因为告诉grep不计大小写的!

      有的时候不要光图方便会不准确。

      5 递归查找 -r(posix 未说明)

      #查看日志的错误信息grep -i -w -r -E 'error|failed|failure' /var/log |less

      6 显示匹配行周围行 (posix 未说明)

      B/A/C(before/after/context -B n -A n -C n

      7 取反-v grep -v -w 'hello' filename

      如果没有取反,世界将不再美丽

      8 匹配数 -c echo aaaa | grep -c 'a'

      这个输出是1!因为grep是行匹配的

      9 输出文件名 -l

      grep -l -r -i -w 'filename_max' /usr/include/*.h

      10 只输出匹配部分-o (gnu 选项)

      echo abcddf |grep -o 'dd'

      可以用于验证自己写的正则

      如果出现错误或不准确,感谢指出。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:教你如何焊接BGA芯片技巧 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• MySQL单表查询进阶总结• 手把手教你怎么下载安装MySQL• 一起聊聊MySQL动态SQL拼接• 实例分析MySQL中pt-query-digest工具的使用记录• MySQL关于Count函数的用法区别总结
    1/1

    PHP中文网