求助 sed中如何使用'

sh/bash/dash/ksh/zsh等Shell脚本
回复
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

求助 sed中如何使用'

#1

帖子 chengmoYS » 2012-08-19 8:53

现有一个文本a.txt 内容为$db_pass = '';
我现在想用sed来修改这一行

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

请问如何实现
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 求助 sed中如何使用'

#2

帖子 YeLee » 2012-08-19 8:53

\转义。
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

Re: 求助 sed中如何使用'

#3

帖子 chengmoYS » 2012-08-19 8:56

我试过了 转义\'也不行
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

Re: 求助 sed中如何使用'

#4

帖子 chengmoYS » 2012-08-19 8:57

sed -i '/db_pass/c $db_pass = \'password\';' a.txt
执行就出现
>
表示命令未结束
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 求助 sed中如何使用'

#5

帖子 YeLee » 2012-08-19 9:02

代码: 全选

sed "/db_pass/c \$db_pass='password';" a.txt
这样? :em06 :em06 :em06
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

Re: 求助 sed中如何使用'

#6

帖子 chengmoYS » 2012-08-19 9:05

使用""可以 但是 db_pass就没了 被替换了
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

Re: 求助 sed中如何使用'

#7

帖子 chengmoYS » 2012-08-19 9:08

还是没能实现要求
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 求助 sed中如何使用'

#8

帖子 YeLee » 2012-08-19 9:10

我在$前面加了\。 :em06 :em06 :em06
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

Re: 求助 sed中如何使用'

#9

帖子 chengmoYS » 2012-08-19 9:32

ok成功了 谢谢
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 求助 sed中如何使用'

#10

帖子 枫叶饭团 » 2012-08-19 10:42

轮子好厉害,你们在说什么我都看不懂
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 求助 sed中如何使用'

#11

帖子 YeLee » 2012-08-19 10:44

饭团好萌,肯定很好吃。 :em03 :em03 :em03
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

Re: 求助 sed中如何使用'

#12

帖子 chengmoYS » 2012-08-20 9:47

还是想问下
为什么这里要用双引号
能解释下吗
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 求助 sed中如何使用'

#13

帖子 tusooa » 2012-08-27 14:24

chengmoYS 写了:还是想问下
为什么这里要用双引号
能解释下吗
双引号支持转义。单引号不支持。
或者可以用$''

代码: 全选

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

代码: 全选

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

代码: 全选

] ls -ld //
回复