给大家一个问题sed |找到xmllint | xargs专家在那里:
我需要一个脚本来替换Xml属性的值someXmlTag 包含当前目录(和子目录)中的所有* .xml文件 文件名(不带扩展名)
任务分配: 我需要一个脚本来将目录中所有* .xml文件的Xml-Tag值替换为文件名的第一部分(在定界符之前),将Xml-Tag替换为文件名的第二部分(在定界符之后)(和子目录)
在此先感谢您的帮助!
致谢
塞巴斯蒂安
答案 0 :(得分:0)
您尚未提供任何示例,测试用例。
无论如何,此find / xargs / sed会在当前目录中找到所有后缀为.xml
的文件,并将<xmlTag>
或</xmlTag>
内的内容替换为<newTag>
或</newTag>
:>
find ./ -type f -name "*.xml" -print0 | xargs -0 sed -i 's/\(<\/\{,1\}\)xmlTag/\1newTag/g'
测试:
$ cat file.xml
<xmlTag>
</xmlTag>
<xmlTag>Whats up</xmlTag>
$ sed 's/\(<\/\{,1\}\)xmlTag/\1newTag/g' file.xml
<newTag>
</newTag>
<newTag>Whats up</newTag>