我使用提取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文件。我應該做的一點是它沒有換行符。 –