gpt4 book ai didi

xml - 用其他文件中的文本行替换文件中的文本

转载 作者:太空宇宙 更新时间:2023-11-04 04:26:52 25 4
gpt4 key购买 nike

这是我的问题,我正在使用 ubuntu,并且我正在尝试替换 xml 文件中的文本.. 从我所做的所有更改的 txt 中,一个示例

在replace.txt文件中我有这个

    nameofsearch  | nameforreplace
nameofsearch1 | nameforreplace1
nameofsearch2 | nameforreplace2

这是软件用于搜索和替换的格式

在 xml 文件中,我有 nameofsearch

这是由 .net 上的一个软件完成的,我无法在 Linux 上运行,所以这是我的问题,我该如何使用 bash 或任何其他类似的东西来做到这一点。

谢谢,塞巴斯蒂安。

最佳答案

您正在寻找的工具是 sed 。如果要将 file1 中的 str1 替换为 str2 并将结果保存到 file2 中,请运行:

sed s/str1/str2 < file1 > file2

您需要转义一些特殊字符,因为 sed 将 str1 解析为正则表达式。

对于您的情况,需要两个步骤。第一步将您的 replace.txt 转换为 sed 脚本文件,我称之为 replace.sed

sed "s/\s*|\s*/\//g"  "replace.txt" | sed "s/\w*\/\w*/s\/&\/g/" > replace.sed

第一个 sed 调用将管道(和周围的空格)转换为斜杠 |->/。第二个调用使用 sed 语法围绕搜索/替换字符串。 replace.sed 应该看起来像

s/nameofsearch/nameforreplace/
s/nameofsearch1/nameforreplace1/
s/nameofsearch2/nameforreplace2/

第二步是使用 xml 文件上的给定脚本文件执行 sed。

sed -f replace.sed test.xml > replaced.xml

关于xml - 用其他文件中的文本行替换文件中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7990221/

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