Linux命令--grep

来源:互联网 发布:淘宝手机比京东便宜 编辑:程序博客网 时间:2024/06/05 00:15

含义、功能:
grep(global regular expression print,全局正则表达式输出)的搜索工具,当命令匹配到执行命令时指定的模式时,grep会将包含模式的一行输出,但是并不对原文件内容进行修改。

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

常用参数:

-v      --revert-match      #显示不包含匹配文本的所有行。-E      --extended-regexp   #将样式为延伸的普通表示法来使用。-o                          #仅打印出匹配的一段,而非整行-n                          #打印出匹配行的行号-l                          #仅打印出匹配行所在的文件-c                          #打印出每个文件中匹配行的总数

匹配常用模式:

^hello         #与以字串hello起始的行匹配hello$         #与以字串hello结束的行匹配\d             #匹配一个数字字符.<=> 等价于 [0-9]\D             #匹配一个非数字符. 等价于 [^0-9]\w             #等价于 "[A-Za-z0-9_]"\W             #匹配任何非单词字符,等价于 "[^A-Za-z0-9]"\s             #匹配任何空白字符, 包括空格 制表符 换页符 等等. 等价于[\f\n\r\t\v]\S             #匹配任何非空白字符. 等价于 [^\f\r\n\t\v]\b             #匹配一个单词边界,也就是指单词和空格间的位置。\B             #匹配非单词边界。
grep后面一次跟随多个模块的时候需要将模块联系起来:\|        #grep 'pattern1\|pattern2' filename(a)grep -E   #代表扩展的正则表达式. 若使用-E选项,则可以去掉转义字符'\',直接使用'|'$ $grep -E 'pattern1|pattern2' filename    #等同于(a)

这里写图片描述

0 0
原创粉丝点击