《Linux Shell》笔记之sed与正则表达式(实例总结) 未完待续

 

Sed使用ERE的方法:

  • sed -r
  • 反斜刚+ERE正则表达式,如 \+ 等 

 

1. 实例: 删除一个字符串中的部分头部的字符

文件: test2.sed,内容如下:

abc1234567890

abc0987654321

xyz1234567890

 

期望输出结果:

1234567890

0987654321

1234567890

 

test@sha>sed 's/[a-zA-Z]\{3\}//g' test2.sed

1234567890

0987654321

1234567890

 

2. 实例: 删除一个字符串中的部分字符

输入内容: 2007-12-1222:16:30

期望输出结果: 20071212221630

 

test@sha>echo 2007-12-12 22:16:30| sed 's/[-: ]//g'

20071212221630

 

3. 实例: 替换出常规的ip地址

输入内容:202.038.008.090

期望输出结果:22.38.8.90

 

test@sha>echo 202.038.008.090|sed 's/0\+\([0-9]\+\)/\1/g'

22.38.8.90

test@sha>echo 202.038.008.090|sed -r 's/0+([0-9]+)/\1/g'

22.38.8.90

解题:把0x替换成x,如:02替换2, 03替换成3,09替换成9

详解:

  • s/原字符/替换字符/g  #sed替换文本的方法
  • \+ 表示使用ERE正则表达式+,它匹配一个或者多个前面的字符
  • sed -r 为了使用ERE正则表达式+,等价于\+
  • \([0-9]\+\) 选定字符,它匹配 0-9任意数字和任意一个或多个数字,如:01,11,12,13等
  • \1 引用之前选定的字符
  • 如果使用


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值