sed 一个文件以包含 `pwd`

sed 一个文件以包含 `pwd`

我无法弄清楚这一点。在名为 docker-compose.yaml 的文件中,我想用pwd+“/rospersistent”的结果替换 ROSPERSISTENT-PATH,这似乎是 sed 的工作。但我被引号绊倒了。

我已经尝试过这个(以及这个的许多排列组合):

sed "s/ROSPERSISTENT-PATH/$(pwd)/" docker-compose.yaml

有人能告诉我我错过了什么吗?谢谢!

答案1

/由于的输出中很可能有正斜杠$(pwd),因此这会干扰 sed 用于分隔搜索模式和替换的正斜杠。
最好的“解决方法”是用搜索模式和替换中不存在的字符替换正斜杠。(例如 | )

sed "s|ROSPERSISTENT-PATH|$(pwd)/rospersistent|" docker-compose.yaml

相关内容