Sed使用的变量里含有转义字符的解决

来源:互联网 发布:java职业生涯规划 编辑:程序博客网 时间:2024/05/23 02:01

Sed使用的变量里含有转义字符的解决

最近写脚本的时候碰到了这方面的问题,到网上搜了半天也没找到好一点的方案或总结。今天我把自己的摸索写一下。

首先是Sed里使用变量的问题
网上有人总结了四种方案:
1. eval sed ‘s/a/b/’ filename
2. sed “s/a/b/” filename
3. .sed ‘s/’a/b’/’ filename
4. .sed s/a/b/ filename
我比较喜欢第二种,也就是:Sed后面的表达式一般用单引号引起来(’),当需要使用变量时就换用双引号(”)。
关于单双引号的区别:
单引号:shell处理命令时,对其中的内容不做任何处理。即此时是引号内的内容是sed命令所定义的格式。
双引号:shell处理命令时,要对其中的内容进行算术扩展。如果想让shell扩展后得到sed命令所要的格式,使用命令:sed -n “/\$/p" haha,扩展后得到的结果即\$.

0 0
原创粉丝点击