当文件只有一行(长)时使用 GNU Parallel

当文件只有一行(长)时使用 GNU Parallel

我有一个 HTML 文档,其中包含<table>我想要从中提取数据并输出到 csv 中。

该文件有544609657字符,大约 545 兆字节,全部在一行中。

我设法通过使用和进行许多字符串替换将数据提取到 csv 中sed,但我想通过使用 GNU 并行来加快速度。考虑到它是单行文件,这可能吗?

我的以下尝试没有提高处理速度,也没有改善内存使用情况:

parallel -a table.html --pipepart 'sed -e [...etc.]' > table.csv

或者

cat table.html | parallel --pipe 'sed -e [...etc.]' > table.csv

我猜问题是因为该文件只有一行。如果是这样,我可以使用什么策略来更有效地处理文件?

答案1

你的想法完全正确。

你只需要学习--recstart

parallel --pipepart --recstart '<tr>' -a big --block -10 'sed ...' > table.csv

这里我们假设 HTML 表格的每一行都以 开头<tr>

相关内容