Xml 更改文件中的数据
我正在寻找一种方法来更改许多文件中的一些数据(更改xml编码)。有很多文件(超过1000)。最快的方法是什么?塞德,格雷普,还有别的事吗?谢谢你 更改:Xml 更改文件中的数据,xml,linux,shell,Xml,Linux,Shell,我正在寻找一种方法来更改许多文件中的一些数据(更改xml编码)。有很多文件(超过1000)。最快的方法是什么?塞德,格雷普,还有别的事吗?谢谢你 更改: <?xml version="1.0" encoding="ASCII"?> 为此: <?xml version="1.0" encoding="UTF-8"?> 您可以使用sed进行此操作。如果这是唯一显示“ASCII”的地方,那么就很容易做到 sed -i -e 's/ASCII/UTF-8/' <fi
<?xml version="1.0" encoding="ASCII"?>
为此:
<?xml version="1.0" encoding="UTF-8"?>
您可以使用sed进行此操作。如果这是唯一显示“ASCII”的地方,那么就很容易做到
sed -i -e 's/ASCII/UTF-8/' <file>
sed-i-e's/ASCII/UTF-8/'
注意:不带参数的-i
标志是GNU语法。此外,如果ASCII出现在您不想替换的任何地方,则必须使您的模式更加具体
这将为每个文件创建一个新的
sed
进程。因此,在性能方面,您最好尝试编写一个脚本,在不启动新进程的情况下打开文件并进行更改。在python中,您可以编写一个函数来执行此操作,并使用os.walk
导航目录结构以查找所需的文件。如果您希望精确匹配并替换,则:
sed -i -Ee 's/(<?xml version="1.0" encoding=")ASCII/\1UTF-8/' file
sed-i-Ee/(也只能指定第一行:sed-i-e'1s/ASCII/UTF-8/”
sed -i -Ee 's/(<?xml[ \t]+version="1.0"[ \t]+encoding=")ASCII/\1UTF-8/' file