正则 gerp
来源:互联网 发布:淘宝打针织打底衫长款 编辑:程序博客网 时间:2024/06/08 15:40
*什么是正则*
- 正则表达式(Regular Expression,RE)过一些特殊字符的排列,用以查找、替换、删除一行或者多行文字字符串,简单的就是说,正则表达式就是用在字符串的处理上面的一项“表达式”
- 正则不是工具程序,而是一种字符串处理的标准依据,如果要以正则的方式处理字符串,就得使用支持正则的工具程序才行 ,如:vi,sed,awk
- 正则就是处理字符串的方法,以行为单位进行字符串的处理行为。
- 正则就是一串有规律的字符串
- 掌握好正则对于编程shell脚本有很大帮助
- 各种编程语言中都有正则,原理相同
- 本章学习grep/egrep、sed、awk
9.1 正则介绍_grep(上)
- gerp 用来过滤指定关键词
格式:grep [-cinvrABC] ‘word’ filename
-c 表示打印符合要求的行数
-n 表示输出符合要求的行和行号
-i 表示不区分大小写-v 表示打印不符合要求的行
-r 表示将子目录或子子目录下符合要求的文件列出来(所有子目录)
这样查找不方便的话 也可以重定向到一个空白文件才 再去过滤
-A:后面跟一个数字(有无空格都可以),打印符合要求的行以及下面n行
-B:后面跟一个数字(有无空格都可以),打印符合要求的行以及上面n行
-c 后面跟一个数字,同时过滤符合要求的行和上下各n行
## 9.2 grep(中) ##
过滤出所有包含数字的行
grep ‘[0-9]’ filename过滤出所有不包含数字的行 那么加上-v 选项即可
grep -v ‘[0-9]’ filename
passwd中所有行都带有数字,所以什么都不会显出不来过滤掉所有以#开头的行
grep -n ‘^#’ filename
第14行不是以#开头,不符合要求,下图就不存在第14行了。
过滤掉不以#开头的行
grep -nv ‘^#’ filename
- 过滤掉所有非0-9数字的字符(红色符合要求)
grep ‘[^0-9]’ filename
- 过滤掉所有已数字开头的行
grep ‘^[^0-9]’ filename
‘^#’ :表示已#开头
‘^[^0-9]’ 表示方括号中这些数字的反义 非的意思
9.3 grep(下)
过滤出任意一个字符
grep ‘r.o’ filename
这里的.可以匹配到所有的字符a-z A-Z 0-9 以及特殊符号过滤出任意重复字符 (表示,0个或多个前面的字符。)
grep ‘b*b fliename- grep ‘. * ’ filename 这里的 . *表示0个或者多个任意字符,空格也包括在内
- 指定要过滤出字符出现的次数
grep ‘o{2}’ filename
{ }内为数字,表示前面字符要重复的次数,并加上转义字符\
使用{ }还可以表示一个范围,具体格式为{n1,n2},其中n1 < n2,表示重复n1到n2次前面的字符,n2还可以为空,这是表示大于或者等于n1次 - 如不想在’o{2}’这里加上\转义字符 ,可使用egrep命令
egrep ‘o{2}’filename
或者grep -E ‘o{2}’filename
或者grep -E ‘(oo){2}’ filename 必须加上-E选项,否则需要转义字符\
- 过滤出一个或者多个指定的字符
egrep ‘o+o’或者grep‘o+o’
+号表示前面字符的1次或者多次
在前面的’o*o ’ 中的*表示0次或者多次 - 过滤出0个或者1个指定的字符
egrep ‘r?2t’ filename 这里?号表示?前面的字符重复的次数为0次或者1次
- 过滤出字符串1或者字符串2
使用| 符号表示或者的意思
前面命令是grep -E 或者egrep
可以使用多个,并加上-i选项不区分大小写
总结:
1 . 表示任意一个字符
2 * 表示0个或者多个前面的字符, *与前面字符组合起来使用
3 .* 表示通配任意字符,所有的都匹配,不管有或者没有的
4 { } 表示{}前面字符的一个范围,可使用小括号
5 +表示一个或者多个+前面的字符
6 ? 表示0个或者1个?前面的字符
7 | 表示或者的意思
- 正则 gerp
- gerp小记
- linux gerp 取反
- 转载gerp命令使用
- gerp single character
- gerp mysql | grep -v grep
- unix 管道符号、gerp、xargs小技巧
- Linux下gerp命令-----C代码实现
- gerp(1):查找文件中指定的字符串,并打印该行
- 【gerp】 Global Research 根据模式,搜索文本,并将符合模式的文本行显示在屏幕中
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 正则
- 音乐分页
- 电路实践
- 汇编---将输入的字符数字转化为二进制数据
- java线程安全之Executor框架及自定义线程池(十五)
- 第一次学电路的艰苦旅程
- 正则 gerp
- 使用selenium3.X启动chrome浏览器
- babyos2(11)——物理内存管理,伙伴系统
- 分布式
- block使用小结、在arc中使用block、如何防止循环引用(zz)
- spring技术内幕读书笔记--springmvc组件
- Struts2应用(一)
- sublime3写java
- mysql错误代码表