用sed改变变量中的字符串

时间:2013-05-29 17:33:40

标签: bash variables replace sed

我正在尝试让sed更新bash脚本中的变量。这是我正在尝试做的简化示例。

myword="this is a test"
echo $myword
this is a test

交换测试以进行工作

$myword | sed 's/a test/working'
echo $myword
this is working

3 个答案:

答案 0 :(得分:3)

您需要终止正则表达式:

myword="this is a test"
myword=`echo $myword | sed 's/a test/working/'`
echo $myword

-> this is working

此外,您从未将输出重新分配回myword var。

答案 1 :(得分:1)

为什么要经历使用sed的麻烦。您可以使用bash字符串函数。

$ echo $myword
this is a test
$ echo ${myword/a test/working}
this is working

答案 2 :(得分:0)

bash中,此任务不需要sed

$ myword="this is a test"
$ myword=${myword/a test/working/'}
$ echo $myword
this is working

如果您无法调整此解决方案,请发布您的实际用例。