텍스트 파일에서 조각을 가져오는 가장 좋은 방법은 무엇입니까?그리고많은다른 것들은 오른쪽 사이드 바에 있습니다거의반복하다.
유일한 차이점은 내 파일이 너무 커서 사용 가능한 RAM+VM에 맞지 않는다는 것입니다. 따라서 내가 시도하는 모든 작업은 종료될 때까지 몇 분 동안 아무것도 수행되지 않을 뿐만 아니라 시스템을 마비시킵니다. 그 중 하나는 시스템이 충돌할 때까지 아무것도 할 수 없게 만들었습니다.
쉘이나 다른 쉘에 루프를 작성하여 라인 수(필수 라인 번호)에 도달할 때까지 라인을 읽고, 계산하고, 삭제할 수 있지만, 이를 수행할 수 있는 명령이 이미 존재할까요?
몇 가지 작업(vim, head -X | tail -1, GUI 편집기)을 시도한 후 포기하고 파일을 삭제한 다음 필요한 줄만 제공하도록 해당 파일을 만든 프로그램을 변경했습니다.
더 자세히 살펴보면,스왑 영역을 사용하지 않고 RAM보다 큰 파일을 엽니다.vi가 이 작업을 수행해야 한다고 제안되지만 vi가 동일하다면 몇 초가 아닌 몇 분이 걸리는 작업을 수행해야 합니다.
답변1
당신은 시도해야less
.
맨페이지에서:
Also, less does not have to read the entire input file before starting, so with large input files it starts up faster than text editors like vi (1).
나는 정기적으로 더 적은 리소스로 대용량 파일을 열며 시작 시간에 문제가 없습니다. 이것을 options 와 결합하면 -jn
기본적으로 짧은 시간 안에 파일의 모든 부분에 접근할 수 있습니다.
상당히 큰 파일이 필요했기 때문에 이것을 테스트하지 않았지만 헤더와 결합하면 more
스크립팅에 더 적합한 파일을 사용할 수도 있습니다.
more +$START_LINE_NUMBER | head -n$AMOUNT_OF_LINES
제가 올바르게 이해했다면 헤더는 필요한 라인 수를 얻은 후 파이프라인 프로세스를 완료해야 하므로 이 솔루션은 여러분이 찾고 있는 오버헤드가 낮은 솔루션일 것입니다.