xml - 更改文件中的数据

标签 xml linux shell

我正在寻找一种方法来更改许多文件中的某些数据(更改 xml 编码)。有很多文件(超过 1 000 000 个)。最快的方法是什么? Sed、grep 还是其他东西?谢谢!

改变:

<?xml version="1.0" encoding="ASCII"?>

为此:

<?xml version="1.0" encoding="UTF-8"?>

最佳答案

您可以为此使用 sed。如果那是唯一出现“ASCII”的地方,那就很容易做到了

sed -i -e 's/ASCII/UTF-8/' <file>

注意:不带参数的 -i 标志是 GNU 语法。此外,如果 ASCII 出现在您不想替换的任何位置,则必须使您的模式更加具体。

这将为每个文件创建一个新的 sed 进程。因此,在性能方面,您可能会更好地尝试编写一个脚本来打开文件并进行更改而无需启动新进程。在 Python 中,您可以编写一个函数来执行此操作,并使用 os.walk 导航目录结构以找到您想要的文件。

关于xml - 更改文件中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30306354/

相关文章:

java - 在 Java 中解码 XML 时遇到问题

linux - 如何解决这个不明确的重定向错误

python - shell脚本检查python版本

shell - $$在shell中是什么意思?

xml - axis step child::element 不能在这里使用:上下文项是一个原子值

c# - 如何将 XML 从 C# 传递到 SQL Server 2008 中的存储过程?

php - 如何使用 PHP 在 WebService 中实现错误列表

java - 从 java 访问一个字符设备文件

node.js - 如何在 mac 上杀死 nodemon 进程?

java - 如何在 XML 属性值中包含 &、<、> 等