linux sed 添加空格,linux-使用sed替换双引号和空格

我在rhel5上,遇到以下问题:

我有一个函数,用我想要的文本替换给定行中的所有内容.一切正常,直到我需要放置双引号.以下是代码:

ReplaceLine()

{

txnFile="File.xml"

if [ "$2" == "enable" ];then

replace=""

else

replace=""

fi

sed -i "$1s/.*/$replace/" $txnFile

}

$1=line number

$2=enable/disable

$3=string to be put

当前代码用以下代码替换文件中的给定行:

我想要的是:

请注意缺少双引号.另外我在sed中使用了双引号,因为没有它们,变量中的空格导致sed引发错误.

请帮助我了解我走错了路.已经花了几个小时.

解决方法:

您忘记了关闭标签的转义符.而且你放了两个斜线.

# one line solution

# sed -i "$1s/.*//" $txnFile

# ^ ^ ^

ReplaceLine()

{

txnFile="File.xml"

if [ "$2" == "enable" ];then

replace=""

else

replace=""

fi

sed -i "$1s/.*/$replace/" $txnFile

}

标签:unix,linux

来源: https://codeday.me/bug/20191031/1977764.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值