分页: 1 / 1

求助 sed中如何使用'

发表于 : 2012-08-19 8:53
chengmoYS
现有一个文本a.txt 内容为$db_pass = '';
我现在想用sed来修改这一行

sed -i '/db_pass/c $db_pass='password';' a.txt
结果文件内容为
$db_pass = ;

请问如何实现

Re: 求助 sed中如何使用'

发表于 : 2012-08-19 8:53
YeLee
\转义。

Re: 求助 sed中如何使用'

发表于 : 2012-08-19 8:56
chengmoYS
我试过了 转义\'也不行

Re: 求助 sed中如何使用'

发表于 : 2012-08-19 8:57
chengmoYS
sed -i '/db_pass/c $db_pass = \'password\';' a.txt
执行就出现
>
表示命令未结束

Re: 求助 sed中如何使用'

发表于 : 2012-08-19 9:02
YeLee

代码: 全选

sed "/db_pass/c \$db_pass='password';" a.txt
这样? :em06 :em06 :em06

Re: 求助 sed中如何使用'

发表于 : 2012-08-19 9:05
chengmoYS
使用""可以 但是 db_pass就没了 被替换了

Re: 求助 sed中如何使用'

发表于 : 2012-08-19 9:08
chengmoYS
还是没能实现要求

Re: 求助 sed中如何使用'

发表于 : 2012-08-19 9:10
YeLee
我在$前面加了\。 :em06 :em06 :em06

Re: 求助 sed中如何使用'

发表于 : 2012-08-19 9:32
chengmoYS
ok成功了 谢谢

Re: 求助 sed中如何使用'

发表于 : 2012-08-19 10:42
枫叶饭团
轮子好厉害,你们在说什么我都看不懂

Re: 求助 sed中如何使用'

发表于 : 2012-08-19 10:44
YeLee
饭团好萌,肯定很好吃。 :em03 :em03 :em03

Re: 求助 sed中如何使用'

发表于 : 2012-08-20 9:47
chengmoYS
还是想问下
为什么这里要用双引号
能解释下吗

Re: 求助 sed中如何使用'

发表于 : 2012-08-27 14:24
tusooa
chengmoYS 写了:还是想问下
为什么这里要用双引号
能解释下吗
双引号支持转义。单引号不支持。
或者可以用$''

代码: 全选

sed -i $'/db_pass/c $db_pass=\'password\';' a.txt
或者麻烦的。

代码: 全选

sed -i '/db_pass/c $db_pass='"'"password"'"';' a.txt