<table>
추출하여 csv로 출력하려는 데이터가 포함된 HTML 문서가 있습니다 .
파일에는 544609657
약 545MB의 문자가 모두 한 줄에 있습니다.
많은 문자열 대체를 사용하고 수행하여 데이터를 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>
.