【发布时间】:2012-08-17 17:55:25
【问题描述】:
我正在使用以下内容提取 XML 标记之间的内容:-
perl -lne 'BEGIN{undef $/} while (/<tagname>(.*?)<\/tagname>/sg){print $1}' input.txt > output.txt
不幸的是,我遇到了out of memory 问题,我知道我可以拆分文件并分别处理 concat 但我想知道是否还有其他方法,是对上述内容进行修改还是使用 awk 或 sed 之类的方法?
input.txt 文件大小在 17GB 和 70GB 之间变化。
编辑:
输入文件可以是任何 XML 文件,需要注意的是它不包含换行符,例如:-
<body><a></a><b></b><c></c></body><foo></foo><bar><z></z></bar>
【问题讨论】:
-
请给出输入文件的摘录
-
输入文件可以是任何XML文件。我可能应该指出的一点是它没有换行符。