Linux에서 대용량 파일을 읽는 간편한 방법
거대한 로그 파일, 텍스트 파일 또는 데이터 세트를 분석해야 합니까? 당신만 그런 것은 아닙니다. Linux에서 대용량 파일을 처리하는 것은 시스템 리소스를 주시하면서 콘텐츠를 보거나 관리하려고 할 때 어려울 수 있습니다. 다행히도 Linux에서 대용량 파일을 읽는 다양한 방법이 있는데, 여기에는 명령 less
, Vim과 같은 유틸리티와 문서를 더 작은 섹션으로 나누는 기술이 포함됩니다.
이 문서에서는 다양한 도구를 사용하여 Linux에서 대용량 파일을 읽거나 특정 정보를 추출하는 다양한 기술을 안내합니다.
Less 명령 사용
큰 텍스트 파일의 내용을 표시하거나 빠른 검색을 수행할 가벼운 도구를 찾고 계신가요? 이 less
명령이 바로 여러분의 솔루션입니다.
이 유틸리티의 제가 가장 좋아하는 측면 중 하나는 표준 텍스트 편집기와 달리 전체 파일을 메모리에 로드하지 않고도 한 번에 한 페이지씩 파일을 볼 수 있다는 것입니다. 이를 통해 특히 큰 파일의 경우 놀라울 정도로 빨라지고 광범위한 문서나 로그를 검토하는 프로세스가 간소화됩니다.
사용하려면 다음과 같이 입력하세요 less
. 파일 이름 뒤에 다음과 같이 입력하세요.
이 명령을 사용하면 인터페이스가 열리고 less
화살표 키를 사용하여 문서를 줄별로 스크롤하거나 /검색어를 입력한 후 를 눌러 특정 용어를 검색할 수 있습니다.
파이프라인 연산자를 사용하여 다른 명령의 출력을 읽는 데 활용할 수도 있습니다 less
. 예를 들어, 명령의 출력을 보고 표시하려면 다음 ls
을 사용합니다.
이 명령은 또한 기능을 사용자 정의하기 위한 여러 옵션을 제공합니다. 이러한 옵션을 결합하여 필요에 맞게 작동 less
방식을 조정할 수 있습니다 .less
예를 들어, -p
다음 옵션을 사용하여 less
특정 용어를 검색할 수 있습니다.
이 명령은 출력을 열고 sample 이라는 단어가 처음 나온 곳으로 바로 이동합니다 .
다음 옵션을 사용하면 파일 내용과 함께 줄 번호를 표시할 수도 있습니다 -N
.
Split 명령을 사용하여 파일 분할
때로는 큰 파일을 처리하는 가장 좋은 방법은 더 작고 관리하기 쉬운 조각으로 나누는 것입니다. 특히 파일을 섹션으로 읽거나 처리하려는 경우 더욱 그렇습니다. 예를 들어, 크기가 1GB를 초과하거나 1억 줄 이상이 포함된 경우 파일을 분할하는 경향이 있습니다.
파일을 크기나 줄 수에 따라 나눌 수 있습니다. 텍스트 파일의 경우 일반적으로 줄로 나누는 것이 가장 좋습니다. 그러면 단어나 줄이 반으로 줄어드는 것을 피할 수 있습니다.
예를 들어, 특정 줄 수를 기준으로 파일을 분할하려면 다음 명령을 실행합니다.
이 경우, 파일 “samplefile.txt”는 각각 10,000줄로 구성된 여러 부분으로 나뉩니다. 결과 파일의 이름은 “part_aa”, “part_ab” 등으로 지정됩니다. 이제 과도한 메모리 사용이나 느린 시스템 성능에 대해 걱정하지 않고 파일의 더 작은 세그먼트를 열고 검사할 수 있습니다.
100MB와 같이 큰 파일을 크기에 따라 분할하려면 다음 명령을 실행하면 됩니다.
Midnight Commander 사용
Midnight Commander(MC)는 파일과 디렉토리를 탐색하기 위한 사용자 친화적인 시각적 인터페이스를 제공하는 듀얼 패널, 텍스트 기반 파일 관리자입니다.
MC를 사용하면 인터페이스에서 직접 파일을 볼 수 있으므로 전체 문서를 메모리에 로드하지 않고도 큰 로그나 데이터 세트를 빠르게 스크롤할 수 있습니다. MC가 얼마나 원활하고 효율적으로 큰 파일을 탐색할 수 있는지 감사합니다.
MC를 설치하려면 다음을 실행하세요.
터미널에서 실행하여 시작합니다 mc
. 들어가면 읽고 싶은 큰 파일로 이동하여 내용을 탐색합니다.
Klogg 사용
Klogg는 대용량 파일을 효율적으로 처리할 수 있는 빠르고 오픈 소스 GUI 기반 로그 뷰어입니다. 전체 파일을 메모리에 로드하는 표준 편집기와 달리 Klogg는 필요에 따라 파일의 일부만 읽어 메모리 사용을 최소화합니다.
Klogg는 또한 실시간 필터링 및 검색 기능을 제공하므로 긴 스크롤 없이도 특정 콘텐츠를 쉽게 찾을 수 있습니다.
Klogg를 설치하기 전에 “/etc/apt/keyrings” 디렉토리를 만들고 여기에 GPG 키를 추가해야 합니다. GPG 키는 Klogg 패키지 저장소를 검증하는 데 필수적입니다.
디렉토리를 생성하려면 다음을 실행하세요.
다음 명령을 사용하여 GPG 키를 추가합니다.
다음으로, curl 명령을 사용하여 Klogg 저장소를 시스템에 추가합니다.
다음으로 패키지 목록을 업데이트하세요.
마지막으로 다음 명령을 사용하여 Klogg를 설치할 수 있습니다.
설치가 완료되면 Klogg 인터페이스를 통해 파일을 열고 내장된 기능을 이용해 파일 내용을 검색하고 탐색하기만 하면 됩니다.
텍스트 편집기를 사용하여 대용량 파일 읽기
많은 텍스트 편집기가 대용량 파일을 처리하는 데 어려움을 겪는 반면, Vim과 Emacs와 같은 편집기는 Nano나 Gedit과 같은 표준 편집기보다 더 효과적으로 대용량 파일을 관리합니다.
예를 들어, Vim의 기능을 사용하면 전체 내용을 한 번에 메모리에 로드하지 않고도 파일을 탐색하고 용어를 빠르게 검색할 수 있습니다. 그러나 검색은 이미 로드된 파일의 섹션으로 제한된다는 점에 유의하세요.
Vim에서 파일을 열려면 다음을 실행하세요.
Grep 명령을 사용하여 파일 검색
큰 파일에서 특정 정보를 찾으려면 grep
명령을 사용하세요. 이 강력한 도구를 사용하면 파일을 검색하고 쿼리와 일치하는 줄만 표시할 수 있습니다.
명령 출력을 로 파이프할 때는 less
일시적일 뿐이라는 점을 기억하세요. 를 종료하면 출력이 사라집니다 less
. 나중에 볼 수 있도록 출력을 보관하려면 파일로 리디렉션하고 less와 같은 명령줄 도구로 엽니다.
예를 들어, 큰 파일에서 “ERROR”라는 단어가 포함된 모든 줄을 필터링하려면 다음을 실행합니다.
grep -i
대소문자 구분 무시( )나 전체 단어만 검색( ) 등의 추가 옵션을 사용하여 검색을 구체화할 수 있습니다 grep -w
.
출력을 파일로 리디렉션
나중에 검토하기 위해 특정 검색 결과를 저장하려면 명령 출력을 새 파일로 리디렉션할 수 있습니다.
예를 들어, 다음 명령을 사용하여 줄을 검색 grep
하여 새 파일에 저장합니다.
운영자 >
는 매번 새 파일을 만들거나 기존 파일을 덮어씁니다. 기존 파일에 데이터를 추가하려면 >>
대신 를 사용합니다 >
.
Head 및 Tail 명령 사용
Linux에서 큰 파일을 작업할 때 파일의 시작이나 끝만 보면 될 수도 있습니다. 여기서 head
및 tail
명령이 작용합니다.
파일의 처음 20줄을 표시하려면 다음을 사용하세요.
마찬가지로, 마지막 20줄을 표시하려면 다음을 실행하세요.
두 경우 모두, -n 20
처음 또는 마지막 20줄만 보고 싶다고 지정합니다. 필요에 따라 더 많거나 적은 줄을 표시하도록 이 숫자를 조정할 수 있으며, 두 명령 모두 기본적으로 10줄을 표시합니다.
tail
와 를 결합하면 head
파일의 특정 섹션을 탐색하는 데 도움이 됩니다. 100줄 파일의 10-14줄을 보려면 시작줄에서 1을 뺀 총 줄 수(100 – 9 = 91)를 빼서 끝줄부터 시작줄을 계산합니다. 다음 명령을 실행합니다.
이렇게 하면 10-14행이 표시됩니다. .을 사용하여 보이는 것과 출력을 확인할 수 있습니다 less
.
로그 파일과 같은 파일을 지속적으로 업데이트하는 경우, tail -f
실시간으로 변경 사항을 모니터링하는 데 사용할 수 있습니다.
결론
로그를 분석하든, 데이터세트를 다루든, 단순히 큰 텍스트 파일을 읽든, 이러한 전략은 프로세스를 상당히 단순화하는 데 도움이 될 것입니다. Linux에서 큰 파일을 찾아 터미널을 통해 전송하는 추가 기술을 탐색할 수도 있습니다.
이미지 출처: Unsplash . 모든 변경 사항과 스크린샷은 Haroon Javed가 제공했습니다.
답글 남기기