有一个问题要问你们所有的sed | find | xmllint | xargs专家:
我需要一个脚本来替换Xml属性someXmlTag的值对于目录(及其子目录(中的所有*.xml文件文件名(无扩展名(
奖金分配:对于目录(和子目录(中的所有*.Xml文件,我需要一个脚本将Xml标记的值替换为文件名的第一部分(在分隔符之前(,并将Xml标签的值替换为由文件名的第二部分(在定界符之后(
提前感谢,非常感谢您的帮助!
问候,
Sebastian
您还没有提供任何示例、测试用例。无论如何,这个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>