한 번에 작은 부분 만 메모리에로드하여 멀티 기가 바이트 텍스트 파일을 편집 할 수있는 편집기가 있습니까? Vim이 처리 할 수없는 것 같습니다 = (
한 번에 작은 부분 만 메모리에로드하여 멀티 기가 바이트 텍스트 파일을 편집 할 수있는 편집기가 있습니까? Vim이 처리 할 수없는 것 같습니다 = (
답변:
당신이 * nix에서 스크립트에있는 (그리고 거의) 전용 파일의 일부 (그리고 수정해야 가정) 경우합니다 (사용하여 파일을 분할 할 수 split
개별적으로 편집해야합니다 (사용 명령) awk
, sed
또는 비슷한)하고 후에을 연결 완료되었습니다.
cat file2 file3 >> file1
Ctrl-C는 파일로드를 중지합니다. 파일이 충분히 작 으면 모든 내용을로드하고로드 후 단계를 종료 한 것이 운이 좋았을 수 있습니다. 이 팁을 사용할 때 전체 파일이로드되었는지 확인하십시오.
Vim은 대용량 파일을 매우 잘 처리 할 수 있습니다. 3.4GB 파일을 편집하고 줄을 삭제하는 등의 작업을했습니다. 명심해야 할 세 가지 사항 :
:115355
하면 115355 줄로 바로 이동합니다. 이는 대용량 파일에서 훨씬 더 빠릅니다. Vim은 줄 버퍼를로드 할 때마다 처음부터 스캔을 시작하는 것처럼 보이며 파일을 스캔하기 위해 Ctrl-F를 누르고 있으면 끝 부분에서 정말 느려진 것 같습니다.참고-Ctrl-C를 눌러 Vim 인스턴스가 읽기 전용 인 경우 Vim이 전체 파일을 버퍼에로드하지 않았을 수 있습니다. 이 경우 저장하면 전체 파일이 아닌 버퍼에있는 내용 만 저장됩니다 . a G
를 사용하여 끝으로 건너 뛰어 파일의 모든 행이 있는지 빠르게 확인할 수 있습니다 .
질식을 일으키는 플러그인 일 수 있습니다. (구문 강조, 접기 등)
플러그인없이 vim을 실행할 수 있습니다.
vim -u "NONE" hugefile.log
미니멀하지만 최소한 익숙한 vi 동작을 제공합니다.
syntax off
또 다른 명백한 것입니다. 설치를 정리하고 필요한 것을 소싱하십시오. 그것이 무엇을 할 수 있는지, 그리고 다른 수단을 통해 작업을 수행해야하는지 알 수 있습니다.
split + vim 솔루션을 사용하여 @Al pachio가 제공 한 답변에 약간의 개선 사항이 있습니다. 파일 청크를 버퍼로 효과적으로 사용하여 glob으로 파일을 읽을 수 있습니다.
$ split -l 5000 myBigFile
xaa
xab
xac
...
$ vim xa*
#edit the files
:nw #skip forward and write
:n! #skip forward and don't save
:Nw #skip back and write
:N! #skip back and don't save
나는 SQL 덤프를 약간 변경해야 할 때 주로 약 1GB의 파일을 사용하여 그렇게하려고했습니다. 저는 Windows를 사용하므로 큰 고통을 겪습니다. 심각하게 어렵습니다.
분명한 질문은 "왜 필요합니까?"입니다. 내가 두 번 이상이 더 시도 할 필요가 경험에서 말할 수 있습니다, 당신은 아마 정말 다른 방법을 찾으려고합니다.
그래서 어떻게하나요? 내가 한 몇 가지 방법이 있습니다. 때로는 vim 또는 nano를 사용하여 파일을 열 수 있으며 사용할 수 있습니다. 정말 힘든 고통이지만 효과가 있습니다.
그것이 작동하지 않으면 (귀하의 경우처럼) 몇 가지 옵션 만 있습니다. 필요한 변경 (예 : 검색 및 바꾸기)을 수행하는 작은 프로그램을 작성할 수 있습니다. 이를 수행 할 수있는 명령 줄 프로그램을 사용할 수 있습니다 (아마도 sed / awk / grep / etc로 수행 할 수 있습니까?).
그래도 작동하지 않으면 파일을 청크로 분할 한 다음 ( 분할 이 확실한 선택이지만 헤드 / 테일을 사용하여 원하는 부분을 얻을 수 있음) 필요한 부분을 편집 할 수 있습니다. 나중에 재결합합니다.
그래도 나를 믿고 다른 방법을 찾으십시오.
저는 Charles Campbell 의 LargeFile 플러그인 과 함께 Win7 x64에서 vim 7.3.3을 사용하여 멀티 기가 바이트의 일반 텍스트 파일을 처리하고 있습니다. 정말 잘 작동합니다.
당신이 바로 오길 바랍니다.
과거에는 http://csved.sjfrancke.nl/ 이 도구를 사용하여 3 기가 바이트 파일을 열었습니다 .
개인적으로 저는 UltraEdit를 좋아 합니다. 다음은 대용량 파일에 대한 작은 설명 입니다.