GNU Parallel은 문자 수로 분할할 수 있지만 전체 행만 제공합니까?

GNU Parallel은 문자 수로 분할할 수 있지만 전체 행만 제공합니까?

새 줄과 결합된 문자 수(ASCII도 가능)를 기준으로 입력 파일을 분할하고 싶습니다. 즉, 10000자로 구성된 각 그룹은 하나의 레코드로 처리되어 하위 프로세스로 파이프되어야 하지만, 10000번째 문자가 줄 끝에 있지 않은 경우 전체 줄이 포함되어야 합니다(따라서 제공된 10000자 이상이 제공됩니다). ) . 각 라인은 분할할 수 없는 개체로 취급되어야 합니다.

이것이 GNU 병렬 처리를 통해(또는 잠재적으로 유용한 다양한 도구를 통해) 가능합니까?

답변1

귀하가 요구하는 내용은 다음과 같습니다.

seq 100000 | parallel --block 10k --pipe wc

약 10000바이트의 청크를 전달 wc하지만 전체 행만 제공합니다.

블록이 최소 10KB가 될 것이라고 보장하는 것은 아니지만 최대 한 행이 됩니다.

관련 정보