如何从<;解析标记xml;第xxx至</xxx>;在aixsed中

如何从<;解析标记xml;第xxx至</xxx>;在aixsed中,xml,parsing,sed,tags,aix,Xml,Parsing,Sed,Tags,Aix,我是aix新手,需要您的支持,在一个文件中有许多标记,它们以以下方式到达: <xxxBEGIN         DATA <xxxEND 文件_v2.txt(正确) sed的/END^/'文件_v2.txt(不正确) 请提供帮助。您需要检查结尾前的单词,捕获它,并在输出前添加正斜杠 sed 's/\(\w\+\)END/\/\1>/g' 对于BEGIN和END来说,一个稍微更稳健的解决方案是: sed 's/^\(<\w\+\)BEGIN/\1>/g' sed

我是aix新手,需要您的支持,在一个文件中有许多标记,它们以以下方式到达:

<xxxBEGIN
        DATA
<xxxEND
文件_v2.txt(正确)
sed的/END^/'文件_v2.txt(不正确)

请提供帮助。

您需要检查结尾前的单词,捕获它,并在输出前添加正斜杠

sed 's/\(\w\+\)END/\/\1>/g'
对于BEGIN和END来说,一个稍微更稳健的解决方案是:

sed 's/^\(<\w\+\)BEGIN/\1>/g'
sed 's/^<\(\w\+\)END/<\/\1>/g'
sed's/^\(/g'

sed的/^您能更具体地说明您的问题吗?嗨,Danilo,我告诉您,我有一个500mb的文本文件,其中包含假定的xml标记和单词(BEGIN/END)。我的目的是替换这些单词,以给出XML标记的形式,以便使用Informatica Powercenter读取文件。嗨,托马斯,感谢您的及时回复。我最后尝试了代码,但它无法解决我可能会做错的事情[usr@srvprodpwc]/tmp/temp>echo'您需要像so
\(\w\+\)这样转义括号
这是由
\1
调用的捕获组。如果不转义,您将搜索括号。
sed 's/\(\w\+\)END/\/\1>/g'
sed 's/^\(<\w\+\)BEGIN/\1>/g'
sed 's/^<\(\w\+\)END/<\/\1>/g'