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