尝试将name =“ Android”更改为name =“ Android1”,name =“ Android2”等。
需要在Windows,macOS和Linux上使用命令行运行python脚本。
Output2.xml
<?xml version="1.0" encoding="UTF-8"?>
<robot generator="Robot 2.9 (Python 3.6.8 on linux)" generated="20190701 08:47:35.439">
<suite id="s1" name="Android" source="/FILEPATHHERE">
#ommitted unrelevant lines from xml file
问题
我尝试了Stackoverflow上列出的几种方法,但意识到它并不像看起来那样简单。
只是尝试使用Mac终端以及当我尝试运行此终端时的方法:
sed -i 's/android/newtext' output2.xml
错误:sed:1:“ output2.xml”:无效的命令代码o
已添加''
,但出现另一个新错误:
sed -i '' 's/android/newtext' output2.xml
错误:sed:1:“ s / android / newtext”:正则表达式中的未终止替换
我可以使用sed命令吗?似乎我做错了,因为在使用sed命令编辑XML时遇到了一些问题。
主要参考文献
https://askubuntu.com/questions/20414/find-and-replace-text-within-a-file-using-commands https://superuser.com/questions/916665/edit-xml-file-using-shell-script-command
答案 0 :(得分:1)
您必须给替换模式btw加上一个结尾分隔符,因为您为备份文件指定了-i
标志,因此它不应是零长度的扩展名,至少对于macOS而言,检查有关它的手册页。
sed -i 'new' 's/android/newtext/' output2.xml