相关疑难解决方法(0)

用bash变量替换sed

尝试使用带有该行的bash脚本中的sed更改文本文件中的值,

sed 's/draw($prev_number;n_)/draw($number;n_)/g' file.txt > tmp
Run Code Online (Sandbox Code Playgroud)

这将是一个for循环.不知道为什么它不起作用.有什么建议?

bash sed substitution

52
推荐指数
3
解决办法
6万
查看次数

如何在sed命令中使用变量?

我有abc.sh:

exec $ROOT/Subsystem/xyz.sh
Run Code Online (Sandbox Code Playgroud)

在Unix机器上,如果我打印,echo $HOME那么我得到/HOME/COM/FILE.

我想更换$ROOT$HOME使用sed的.

预期产出:

exec /HOME/COM/FILE/Subsystem/xyz.sh
Run Code Online (Sandbox Code Playgroud)

我试过了,但我没有得到预期的输出:

sed  's/$ROOT/"${HOME}"/g' abc.sh > abc.sh.1
Run Code Online (Sandbox Code Playgroud)

加成:

如果我有 abc.sh

exec $ROOT/Subsystem/xyz.sh $ROOT/ystem/xyz1.sh
Run Code Online (Sandbox Code Playgroud)

然后用

sed "s|\$INSTALLROOT/|${INSTALLROOT}|" abc.sh
Run Code Online (Sandbox Code Playgroud)

它只是首先替换$ROOT,即输出即将到来

exec /HOME/COM/FILE/Subsystem/xyz.sh $ROOT/ystem/xyz1.sh
Run Code Online (Sandbox Code Playgroud)

unix sed

52
推荐指数
2
解决办法
11万
查看次数

标签 统计

sed ×2

bash ×1

substitution ×1

unix ×1