day14
作者:黄胜
日期:2019/3/19
正则表达式:为处理大量字符串和文本而创建的一套规则和方法.
一、特点及使用场景
1.提高效率,快速获取想要内容;
2.应用在三剑客和通配符;
3.以行为单位,一次操作一行;
二、正则表达式的分类
1.基本正则表达式
(1) ^以..开头,例:grep '^|' oldboy.txt I am oldboy teacher!
(2) $ 空行 -n显示行号
(3). 任意一个字符,不会匹配空行
(4) \转义字符,还原命令本身含义
(5)* 前一个字符连续出现了0次或是0次以上(逐行匹配)
(6).*所有内容,任何符号包含空行。
(7). [abc]相当于一个符号(每次匹配1个字符)找出包含a或b或c所在的行
(8).[^abc]相当于一个字符,每次匹配一个字符,过滤所有不包含a或b或c的行。
2.扩展正则
(1)+ 前一个字符连续出现1次或一次以上
(2) | 管道符号在正则表达式中意思是或者
(3)()表示一个整体,反向引用/后向引用
(4) {n,m} 匹配其前面的字符至少n次,至多m次
(5) 匹配前一个字符重复0次或1次
\b 只显示过滤单词,类似grep -w;划分单词边界。
三剑客:grep ;sed; awk
1.sed (stream editor ),实现对文件内容的增删改查,用法:
sed 选项 [sed内置命令字符] 文件
参数:
(1)-n 取消默认命令输出;
(2)-i 修改文件,不输出到终端;
(3) -r 用于扩展正则;
注:如果不适用-i,sed至修改内存里面的文件内容,不影响磁盘里面的内容。
内置命令字符:
s 替换;g全局;p打印;d删除。