我使用提取XML标记之间的内容如下: -出的内存处理大型文件用Perl,桑达,AWK
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文件。我应该做的一点是它没有换行符。 –