在将xml文档导入数据库之前,我正在尝试格式化该文档。我有几百行<Image #1 File Name>Random string to find and replace</Image #1 File Name>
我对正确的发现和我的生活没有任何线索。替换正则表达式中的模式来做我需要的。我能够将所有实例与此匹配:
<Image #1 File Name>(.*?)</Image #1 File Name>
但是我不确定我需要的模式然后用打开/关闭标签之间的下划线替换空格<Image #1 File Name>Random_string_to_find_and_replace</Image #1 File Name>
答案 0 :(得分:1)
awk -F'<|>' '{gsub(/ /,"_",$3);print"<"$2">"$3"<"$4">"}' yourxmlfile
好的,您可以在过滤之前使用~
匹配运算符进行检查:
awk -F'<|>' '{if ($0 ~ /Image #1 File Name/) {gsub(/ /,"_",$3);print"<"$2">"$3"<"$4">"} else {print;}}' yourxmlfile
答案 1 :(得分:0)
我建议下一招:
<Image #1 File Name>
和</Image #1 File Name>
替换为两个
不含空格的不同特殊单词(例如MY_START_TAG
和
MY_END_TAG
)。分而治之:)