正则表达式和sed的使用

前端之家收集整理的这篇文章主要介绍了正则表达式和sed的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_301_1@1 字符串的组合表达有重复和逻辑两种方法

2 重复

* 零次或多次匹配前面的字符或子表达式

+ 一次或多次匹配前面的字符或子表达式

? 零次或一次匹配前面的字符或子表达式

@H_301_1@3 用法格式:grep ’@H_301_1@字符串如se*’ @H_301_1@表名或文档名

@H_301_1@4 注意1@H_301_1@加号和问号前面一定要加斜线如’se\+’@H_301_1@和’se\?’

5 @H_301_1@括号和大括号加入到正则表达式中一定要加斜线如’\(se\)’*@H_301_1@和’\{se\}’

@H_301_1@6 重复特定次数:[n,m] n@H_301_1@重复最小次数 m@H_301_1@重复最大次数

@H_301_1@7 任意字符串的表式:

@H_301_1@7.1 .* @H_301_1@如grep ’m.*c’ passwd@H_301_1@表示找出passwd@H_301_1@中的所有以m@H_301_1@开头c@H_301_1@结尾的内容包括单词和句子不论多长

@H_301_1@7.2 而’m..c’@H_301_1@的意思是找出所有以m@H_301_1@开头中间只有两个单词c@H_301_1@结尾的内容

’\bm[a-z]*c\b’@H_301_1@与’m..c’@H_301_1@的意思一样

@H_301_1@8 逻辑或的表达式:| @H_301_1@注意逻辑或的前面一定要加斜线 @H_301_1@如’bin/\false\|true\)’ @H_301_1@意思是显示所有bin@H_301_1@或true@H_301_1@的内容

9 案例

9.1 匹配4-10位的QQ号

grep '^[0-9]\{4,10\}$' 文件

9.2 匹配15位或18位的身份证号(支持带x)

grep '^([1-9]\[0-9]\{13\}\|[0-9]\{16\}\)[0-9xX]$' 文件

9.3 匹配密码,由数字、26个字母和下划线组成

grep '\W\+$' 文件

@H_301_1@10 使用sed@H_301_1@可以:

10.1 @H_301_1@自动处理文件

10.2 @H_301_1@分析日志文件

10.3 @H_301_1@修改配置文件

11 Sed@H_301_1@的行处理:

11.1 Sed@H_301_1@一次处理一行内容

11.2 Sed@H_301_1@不改变文件内容,除非重定向

12 Sed@H_301_1@的流处理编辑器:文本或管道输入@H_301_1@到 @H_301_1@读入一行到模式空间(@H_301_1@模式空间即为临时缓冲区) @H_301_1@到sed@H_301_1@命令处理 @H_301_1@最后@H_301_1@输出到屏幕 @H_301_1@重复读入一行到模式空间@H_301_1@到 sed@H_301_1@命令处理

13 Sed@H_301_1@的文本处理:正则选定文本@H_301_1@到 sed@H_301_1@进行处理

@H_301_1@14 使用sed@H_301_1@格式:

14.1 @H_301_1@命令行格式:sed @H_301_1@参数 @H_301_1@命令@H_301_1@输入的文件 @H_301_1@(参数有-e@H_301_1@和-n@H_301_1@,-e@H_301_1@一般用于调用两个命令,-n@H_301_1@一般用于匹配p@H_301_1@的命令意思是打印相关的行) @H_301_1@(命令由行定位既正则+sed@H_301_1@命令即操作)

14.2 @H_301_1@脚本格式:sed -f@H_301_1@参数@H_301_1@脚本文件 @H_301_1@输入的文件

@H_301_1@15 查看打印的行号:nl @H_301_1@文件 | sed-n @H_301_1@要打印的行

猜你在找的正则表达式相关文章