正则shell
一串有规律的字符串编程
掌握好正则对编写shell脚本有很大帮助工具
各类编程脚本中都有正则spa
grep sed awk3d
格式: grep [-cinvABC] 'word' filenameblog
-c 打印符合要求的行的行数ci
-i 不区分大小写字符串
-n 显示行号awk
-v 打印不符合要求的行sed
-r 遍历全部子目录
-A 后面跟数字,例如-A2 表示打印符合要求的行以及下面两行
-B 后面跟数字,例如 -B2 表示打印符合要求的行以及上面两行
-C 后面跟数字,例如-C2 表示打印符合要求的行以及上下两行
过滤出带有某个关键词的行,并输出行号
过滤出不带有某个关键词的行,并输出行号
过滤出全部包含数字的行
过滤出全部不带数字的行,只要在上面命令中加上 -v 选项就行
过滤掉全部以#开头的行 符号 ^ 表示行的开始
过滤掉全部空行和以#开头的行
$表示行的结尾,空行就用 ^$ 表示
打印出除了符合中括号 [ ] 里的内容
过滤出任意一个字符和重复字符
符号 . 表示任意一个字符
符号 * 表示零个或多个前面的字符
.* 表示零个或多个任意字符,空行也包含在内
指定要过滤出的字符出现的次数
grep使用大括号 { } 要在大括号前使用脱义符号,不想使用脱义符号就要使用 -E 选项,或使用egrep
过滤出一个或多个指定的字符
符号 + 表示匹配1个或多个+前面的字符,grep使用 +也要在前面加脱义符号
过滤出零个或一个指定的字符 使用符号?
过滤出字符串1或字符串2 用符号 |
egrep中()的应用
()内是一个总体
t(ell|oo)表示把有tell 或too的行打印出来。