<table>
抽出してcsvに出力したいデータを含むHTML文書があります。
ファイルには544609657
約545MBの文字がすべて1行にあります。
私は多くの文字列置換を使用して実行してデータをcsvに抽出しましたが、sed
GNU並列処理を使用して速度を上げたいと思います。単一行ファイルであることを考慮すると、これは可能ですか?
次の試みは、処理速度やメモリ使用量を向上させませんでした。
parallel -a table.html --pipepart 'sed -e [...etc.]' > table.csv
または
cat table.html | parallel --pipe 'sed -e [...etc.]' > table.csv
問題はファイルに1行しかないからだそうです。それでは、ファイルをより効率的に処理するためにどのような戦略を使用できますか?
答え1
あなたの考えは絶対に正確です。
あなたは学ぶ必要があります--recstart
:
parallel --pipepart --recstart '<tr>' -a big --block -10 'sed ...' > table.csv
ここでは、HTMLテーブルの各行がで始まると仮定します<tr>
。