我正在尝试让sed更新bash脚本中的变量。这是我正在尝试做的简化示例。
myword="this is a test"
echo $myword
this is a test
交换测试以进行工作
$myword | sed 's/a test/working'
echo $myword
this is working
答案 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
如果您无法调整此解决方案,请发布您的实际用例。