我有一个包含2000 xml文件的文件夹和子文件夹。
需要使用BizTalk系统处理所有文件。
但是有些文件有错误的标签
streetName Bombay Crescent / addressRegion
/ streetName 击>。
我需要你grep才能找到并替换worng标签。
即使用for循环..找到任何带有错误标记的xml文件并替换它。
只有标签“streetName”受到影响。只有“addressRegion”出错了。
我愿意这样做
grep -Po其中streetName和*** / addressRegion如果条件为真
用/ streetName替换/ addressRegion
先谢谢
答案 0 :(得分:0)
以下内容将查找匹配结束标记为<streetName>
的标记</addressRegion>
,并将addressRegion更改为streetName。它将替换该行上的所有事件。街道名称不得包含任何会导致匹配的<
符号。
sed -e 's:\(<streetName>[^<]*\)</addressRegion>:\1</streetName>:g'
该命令读取其标准输入并写入标准输出。
Sed -i将在其所有输入文件中进行替换:
sed -i -e 's:\(<streetName>[^<]*\)</addressRegion>:\1</streetName>:g' folder/subfolder/*.xml