sed的括号本身没有特殊意义,如果要保留通配内容,需要转义。

echo "1) host" |sed  's/1) ([a-z])/$1) $1/'

有两处有问题。

1. 首先是上面说的问题,上面的意思是要匹配 1) (b)这种字符串,而且没有变量捕获的意义,所以后面的$1不是一个变量。

2.在sed中替换前面捕获的内容使用直接保存在数字变量中,而不是使用$1 $2类似的字符。故替换部分1即代表前面第一个括号中的内容。

但1本身代表1这个数字,所以需要转义。

正确写法:

echo "1) host" |sed 's/1) \([a-z]\)/\1) \1/'

最新文章

  1. chrome中不可见字符引发的float问题
  2. php基础入门
  3. cookie sessionStorage localStorage 区别
  4. CCNA实验2.VLAN
  5. ThinkPHP分页链接支持数组参数的办法
  6. 关于Xcode7中的tbd文件
  7. QT4和QT3的区别
  8. ASP.NET Core 2.0 自定义 _ViewStart 和 _ViewImports 的目录位置
  9. 搭建阿里云 centos mysql tomcat jdk
  10. Python自动化--语言基础6--模块操作之re、MySQL、Excel
  11. Android广播的发送与接收
  12. nginx与fastdfs配置详解与坑
  13. 【腾讯Bugly干货分享】iOS App 签名的原理
  14. 使用《JAVA面向对象编程》总结
  15. Elasticsearch - 简单介绍
  16. CSVN配置自动备份策略
  17. angularjs 与 UEditor开发,添加directive,保证加载顺序正常
  18. Python 字典 dict() 函数
  19. 驳《编码规范是技术上的遮羞布》自由发挥==摆脱编码规范?X
  20. slatstack高效运维

热门文章

  1. 【第一章】MySQL数据概述
  2. 【第四章】MySQL数据库的基本操作:数据库、表的创建插入查看
  3. 讯飞云 API 语音听写 python3 调用例程
  4. 如何做好FAE工作及FAE职位发展
  5. JS判断备忘
  6. C++视频教学
  7. c++ 第五次作业(计算器第三步)
  8. 软工网络15团队作业4——Alpha阶段敏捷冲刺-1
  9. 【Linux】- Ubuntu守护进程supervisor
  10. thinkPHP框架单一入口文件解析