큰 (~ 870,000,000 줄) 텍스트 파일에서 특정 그룹의 행을 가져 오려고합니다. 예를 들어, 50 줄의 파일에서 3-6, 18-27, 39-45 줄을 원할 수 있습니다. 검색 스택 오버플로에서 큰 텍스트 파일에서 행 그룹 읽기
는, 내가 bash는 명령 것으로 나타났습니다 :tail -n+NUMstart file |head -nNUMend
한 줄 또는 NUMstart에서 시작 NUMend에가는 라인의 그룹을 얻을 수있는 가장 빠른 방법입니다. 그러나 여러 줄의 줄을 읽을 때 이것은 비효율적 인 것처럼 보입니다. 일반적으로이 기술은별로 중요하지 않지만이 파일은 커다란 차이를 만듭니다.
각 행 그룹에 대해 위의 명령을 사용하는 것보다 더 좋은 방법이 있습니까? 나는 그 대답이 bash 명령 일 가능성이 가장 높지만 실제로 일을 잘 수행 할 수있는 언어/도구에 대해 열려 있다고 가정하고 있습니다.
'awk'보다 훨씬 빠르다면 궁금합니다. – codeforester
이것은 전체 파일을 스캔 할 것이고, 마지막 라인 다음에 끝낼 때'awk'보다 빠를 수 없다. – karakfa
마지막 명령으로'45q'을 추가하면이를 수정합니다. –