如何在 sed 中将一个路径替换为另一个路径? [复制]

2023-12-19

我有一个 csh 脚本(尽管我可以更改语言,如果它有任何相关性),我必须:

sed s/AAA/BBB/ file

问题在于 AAA 和 BBB 是路径,因此包含“/”。 AAA 是固定的,所以我可以说:

sed s/\\\/A\\\/A\\\A/BBB/ file

然而,BBB 是基于变量的,包括 $PWD。如何转义 $PWD 中的“/”?

或者我应该有其他方法来完全做到这一点吗?


sed可以使用任何分隔符代替/ in the s命令。只需使用您的路径中未遇到的内容即可:

s+AAA+BBB+

等等。

或者(如果您不想猜测),您可以使用 sed 预处理路径以转义斜杠:

pwdesc=$(echo $PWD | sed 's_/_\\/_g')

然后做你需要做的事情$pwdesc.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 sed 中将一个路径替换为另一个路径? [复制] 的相关文章

随机推荐