正则介绍 、grep、egrep工具

人盡茶涼 提交于 2020-04-07 02:10:58

正则

一串有规律的字符串

掌握好正则对编写shell脚本有很大帮助

各种编程脚本中都有正则

grep sed awk

grep/egrep工具

格式: grep [-cinvABC] 'word' filename

-c 打印符合要求的行的行数


-i 不区分大小写

-n 显示行号

-v  打印不符合要求的行

-r 遍历所有子目录

-A 后面跟数字,例如-A2 表示打印符合要求的行以及下面两行

-B 后面跟数字,例如 -B2 表示打印符合要求的行以及上面两行

-C 后面跟数字,例如-C2 表示打印符合要求的行以及上下两行

grep/egrep用法示例:

过滤出带有某个关键词的行,并输出行号

过滤出不带有某个关键词的行,并输出行号

过滤出所有包含数字的行

过滤出所有不带数字的行,只要在上面命令中加上 -v 选项就行

过滤掉所有以#开头的行 符号 ^ 表示行的开始

过滤掉所有空行和以#开头的行

$表示行的结尾,空行就用 ^$ 表示

打印出除了符合中括号 [ ] 里的内容

 

过滤出任意一个字符和重复字符

符号 . 表示任意一个字符

符号 * 表示零个或多个前面的字符

.* 表示零个或多个任意字符,空行也包含在内

指定要过滤出的字符出现的次数

grep使用大括号 { } 要在大括号前使用脱义符号,不想使用脱义符号就要使用 -E 选项,或使用egrep

过滤出一个或多个指定的字符

符号 + 表示匹配1个或多个+前面的字符,grep使用 +也要在前面加脱义符号

过滤出零个或一个指定的字符 使用符号?

过滤出字符串1或字符串2 用符号 |

egrep中()的应用

()内是一个整体

t(ell|oo)表示把有tell 或too的行打印出来。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!