加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式和sed的使用

发布时间:2020-12-14 00:37:29 所属栏目:百科 来源:网络整理
导读:1 字符串的组合表达有重复和逻辑两种方法 2 重复 * 零次或多次匹配前面的字符或子表达式 + 一次或多次匹配前面的字符或子表达式 ? 零次或一次匹配前面的字符或子表达式 3 用法格式: grep ’ 字符串如 se*’ 表名或文档名 4 注意 1 加号和问号前面一定要加

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

2 重复

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

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

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

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

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

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

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

7 任意字符串的表式:

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

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

’bm[a-z]*cb’’m..c’的意思一样

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

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+$' 文件名

10 使用sed可以:

10.1 自动处理文件

10.2 分析日志文件

10.3 修改配置文件

11 Sed的行处理:

11.1 Sed一次处理一行内容

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

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

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

14 使用sed格式:

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读