使用 shell 命令查找并替换一组 xml 文件中的字符串

发布于 2024-08-08 11:45:18 字数 152 浏览 8 评论 0原文

我的目录中有 1000 个文件。我在一台Solaris机器上,

我想替换目录中所有xml文件中的字符串“/example/test/temp”t0“/testing/in/progress/。

任何指针都会很棒。

谢谢,

新手

I have 1000 files in a directory. I'm on a solaris machine

I want to replace the string " /example/test/temp " t0 " /testing/in/progress/ in all the xml files in my directory.

any pointers will be great.

thanks,

novice

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花桑 2024-08-15 11:45:18

怎么样(全部在一行):

find . \( -type d ! -name . -prune \) -o \( -type f -name "*.xml" -print \) |
    xargs perl -i.old -p -e 's-/example/test/temp-/testing/in/progress/-g'

How about (all on one line):

find . \( -type d ! -name . -prune \) -o \( -type f -name "*.xml" -print \) |
    xargs perl -i.old -p -e 's-/example/test/temp-/testing/in/progress/-g'
最偏执的依靠 2024-08-15 11:45:18

使用 sed(1)。

一般来说,使用 xslt 处理器来处理 XML 文件更安全,但在这个特定的示例中,某些“时髦”XML 表示导致问题的可能性相当小......

Use sed(1).

In general it is safer to use an xslt processor to massage XML files, but in this particular example, the chances of some "funky" XML representation causing problems is pretty remote ...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文