파일의 처음 몇 줄을 읽는 데 시간이 오래 걸리는 이유는 무엇입니까?

파일의 처음 몇 줄을 읽는 데 시간이 오래 걸리는 이유는 무엇입니까?

33GB 정도의 거대한 텍스트 파일이 있는데 크기 때문에 파일 구성 방식을 이해하기 위해 파일의 처음 몇 줄만 읽어보고 싶습니다. 시도했지만 head실행을 완료하는 데 오랜 시간이 걸렸습니다. UNIX에서는 head작업을 수행하기 전에 전체 파일을 실행해야 하기 때문입니까 ? 그렇다면 해당 파일의 일부를 표시하는 더 빠른 방법이 있습니까?

답변1

이것은 실제로 귀하의 질문에 대답하지 않습니다. 속도가 느려지는 이유 head는 다음과 같습니다.줄리 펠레티에답변: 파일에는 개행 문자가 전혀(또는 다수) 포함되어 있지 않으므로 head표시하려는 행을 찾으려면 파일을 많이 읽어야 합니다. head물론 작업을 수행하기 전에 전체 파일을 읽을 필요는 없으며 요청한 줄 수에 도달하면 읽기가 중지됩니다.

개행과 관련된 속도 저하를 피하거나 특정 줄 수를 보는 데 신경 쓰지 않는 경우 파일의 시작 부분을 보는 빠른 방법은 dd예를 들어 처음 100바이트를 보는 것 입니다 hugefile.

dd if=hugefile bs=100 count=1

또 다른 옵션이 제공됩니다.GNU 헤드/테일은 왜 전체 파일을 읽나요?, -c다음 옵션을 사용합니다 head.

head -c 100 hugefile

답변2

head내가 이런 일이 일어나는 것을 본 유일한 경우는 파일에서 필요한 수의 줄만 읽었 기 때문에 파일에 개행 문자가 없을 때였습니다 .

관련 정보