gpt4 book ai didi

xml - 用包含斜杠的字符串替换 xml 属性

转载 作者:太空宇宙 更新时间:2023-11-04 10:38:40 24 4
gpt4 key购买 nike

我正在尝试仅使用 sed 替换 xml 中的属性。

我已经在 StackOverflow 上找到了一种适用于由字母组成的属性的方法。不过,它不适用于包含斜杠 / 的属性。

我拥有的 XML:

<?xml version="1.0" encoding="UTF-8"?>
<Environment WorkingFolder="" Provider="">
<tag>
</tag>
</Environment>

我正在尝试将 WorkingFolder="" 替换为 WorkingFolder="/some/path/"

所以 XML 看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<Environment WorkingFolder="/some/path/" Provider="">
<tag>
</tag>
</Environment>

如果我尝试这样做,我会得到一个错误:

sed -E 's/WorkingFolder="[^"]*"/WorkingFolder="/some/path/"/' file.xml

因为斜杠 /

所以我所做的是使用另一个 sed 命令来转义斜杠 /:

path=$(echo /some/path/ | sed 's_/_\\/_g')

sed -E 's/WorkingFolder="[^"]*"/WorkingFolder="$path"/' file.xml

现在的问题是 $path 变量没有扩展,因为单引号 '

最佳答案

试试这个:

sed -E 's|WorkingFolder="[^"]*"|WorkingFolder="/some/path/"|' file.xml

关于xml - 用包含斜杠的字符串替换 xml 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36174116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com