Vi 또는 gedit를 통해 큰 텍스트 파일을 보는 방법


24

wordlist.txt의해 11GB를 생성 했습니다 crunch-3.6. Vi 또는 gedit로 파일을 열려고하면 파일 크기로 인해 문제가 발생합니다. 이 파일을 어떻게 볼 수 있습니까?


8
나는 그것이 중복이라고 생각하지 않습니다. 밀접하게 관련되어 있고 일부 답변이 도움이 될 수 있지만, 이것은보고 편집하지 않는 것입니다. 허용 된 답변은보기에 도움이되지 않습니다.
pLumo

1
동의한다. 파일을보고 파일을 편집하는 것은 동일하지 않으며 파일이 매우 클 때만 구별이 더 중요해집니다.
Eliah Kagan

답변:


43

텍스트 를 때 텍스트 편집기 를 사용하지 마십시오 .

더 나은 도구가 있습니다 :


와 파일보기 less(공간, 끝, 홈, 페이지 업, PageDown 키와 스크롤, Q와 휴가; "/ 일"로 검색).

에서 less수동 :

시작하기 전에 전체 입력 파일을 읽을 필요가 없으므로 입력 파일이 큰 경우 vi (1)와 같은 텍스트 편집기보다 빠르게 시작됩니다.

용법:

less wordlist.txt

다음의 사용을 고려하십시오 less -n.

-n 또는 --line-numbers :

줄 번호를 표시하지 않습니다. 기본적으로 (행 번호 사용) 경우에 따라, 특히 매우 큰 입력 파일을 사용하면 실행 속도가 느려질 수 있습니다. -n옵션으로 줄 번호를 억제 하면이 문제를 피할 수 있습니다.

(-n 옵션 @pipe를 제안 해 주셔서 감사합니다)


grep관심있는 라인 만 가져 오려면 사용하십시오 .

# Show all Lines beginning with A:
grep "^A:"  wordlist.txt

# Show all Lines ending with x and use less for better viewing
grep "x$"  wordlist.txt | less

사용 head하거나 tail첫 번째 또는 마지막 n 라인을 얻을 수 있습니다

head wordlist.txt
tail -n 200 wordlist.txt

텍스트를 편집하려면 이 질문을 참조하십시오 .


4
참고 more달리 메모리에 전체 파일을로드합니다 less. 그렇게 큰 경우에는 사용하지 않는 것이 좋습니다. 최선의 선택은 확실히 사용하는 것 grep입니다.
Nepho

1
내 의견은 실제로 거짓 일 수 있습니다. 소스 코드 moreless소스 코드를 모두 검사하기 시작 했거나 둘 다 openfopen
또는를

2
동의했다. more매우 오래된 유틸리티 less입니다. 사용 가능한 경우 어떤 이유를 사용하는지 생각하지 않습니다 more.
Nepho

1
@Nepho more는 한 가지 큰 장점이 있습니다 less. LESSOPEN입력 전처리기를 지원하지 않습니다 . 매뉴얼 페이지 나 다른 텍스트의 원시 텍스트를 보려고하는 more my_docs.man경우 less, 전처리기를 억제하는 방법을 알아 내기 위해 문서를 파는 것보다 타이핑하는 것이 훨씬 빠릅니다 .
Mark

1
나는 호출 제안 적은 같은 것을 사용하여 less -nS약간의 최대 속도 일에 큰 파일을.
파이프

10

종종 "grep"만으로도 필요한 것을 찾을 수 있습니다.

특정 줄 주위에 "컨텍스트"가 더 필요하면 "grep -n"을 사용하여 관심있는 줄의 줄 번호 를 찾은 다음 sed를 사용하여 해당 줄 주위 에 파일의 "청크"를 인쇄하십시오 .

$ grep -n 'word' file 
123:A line with with word in it 

$ sed -n '120,125p' file 
A line 
Another line
The line before
A line with with word in it 
The line after
Something else

10
sed 필요 없음, 당신은 라인을 사용 grep -B하고 -A인쇄 할 수 있습니다 B
efore

7
@RoVo 또는 -CA에 대한 C의 덩어리 (전과 후).
wjandrea
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.