gpt4 book ai didi

replace - sed搜索并替换xml文件中的路径

转载 作者:行者123 更新时间:2023-12-04 06:25:47 25 4
gpt4 key购买 nike

谁能帮我?

我正在尝试编写一个在 XML 文件中搜索路径的 shell 脚本:

<string>User/MyUser/Library/Folder/File.txt<string>

然后用另一条路径替换该路径:
<string>/Library/CustomFolder/CustomFile.txt<string>

我正在搜索的路径是可变的,但将始终包含单词 Library。

有什么办法可以搜索 >*/Library并将其替换为 >/Library
然后我想搜索 Library*<并将其替换为 Library/CustomFolder/CustomFile.txt<
请阅读上面的内容,就好像 * 字符是指任何字符串一样...

我目前正在尝试使用 sed -i 到达那里(因为我想编辑文件本身而不仅仅是标准输出)但我有点菜鸟,我在尝试测试时不断收到错误消息。

到目前为止,我有:
sed -i 's/Library/TEST/g' ~/Library/Path/To/MyFile.xml

这会在 l 命令错误的末尾返回一个额外的字符,所以我还没有尝试计算 * 位...

有没有更好的方法来做到这一点,还是我只是做错了?

提前致谢!

马图斯

最佳答案

当您尝试修改 xml 文件时,它会变得有点困难和复杂
仅使用 sed/awk 实用程序。如果需要做一些更复杂的xml修改
此解决方案可以帮助您:

如果您可以在您的机器上安装一些软件,那么您可以尝试:

XMLStarlet:http://xmlstar.sourceforge.net/

安装后,您可以像这样编辑文件:
$>./xmlstarlet ed -u '/xml/table/rec[@id=1]/numField' -v 42 xml/myfile.xml
当然,此工具可让您执行更复杂的任务,而不仅仅是编辑单个
xml 元素的值。有一天这会变得非常有用。

可以在此处找到完整命令/功能的列表:

http://xmlstar.sourceforge.net/doc/xmlstarlet.txt

关于replace - sed搜索并替换xml文件中的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6067992/

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