Vi veya gedit ile büyük metin dosyası nasıl görüntülenebilir


24

Bir üretilip wordlist.txt11 GB crunch-3.6. Dosyayı Vi veya gedit ile açmaya çalıştığımda, dosya boyutu nedeniyle sorun yaşıyorum. Bu dosyayı nasıl görebilirim?


8
Bunun bir kopya olduğunu sanmıyorum. Her ne kadar yakından ilişkili olsa da, bazı cevaplar yardımcı olabilir, ancak bu bir düzenleme ve görüntüleme ile ilgili değil. Kabul edilen cevap görüntüleme için yardımcı değildir.
pLumo

1
Katılıyorum. Bir dosyayı görüntülemek ve bir dosyayı düzenlemek aynı şey değildir ve ayrım ancak dosya çok büyük olduğunda daha önemli hale gelir.
Eliah Kagan

Yanıtlar:


43

Metin görüntülemek için bir metin düzenleyici kullanmayın .

Daha iyi araçlar var:


Dosyaları less(Boşluk, Son, Ev, Sayfa Yukarı, SayfaAşağı; Ara "/ bir şey" ile ara; q ile bırak) ile görüntüleyin.

Gönderen lessmanuel:

Daha az başlamadan önce tüm giriş dosyasını okumak zorunda değildir, bu nedenle büyük giriş dosyalarıyla vi (1) gibi metin editörlerinden daha hızlı başlar.

Kullanımı:

less wordlist.txt

Şunun kullanımını göz önünde bulundurun less -n:

-n veya --line-numaraları:

Satır numaralarını bastırır. Varsayılan değer (satır numaralarını kullanmak) bazı durumlarda, özellikle de çok büyük bir giriş dosyasında daha yavaş çalışmasına neden olabilir. -nSeçenekle satır numaralarını bastırmak bu sorunu önleyecektir.

(-n seçeneğini @pipe önerdiğin için teşekkürler)


grepYalnızca ilgilendiğiniz satırları almak için kullanın :

# 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

İlk veya son n satırını almak için headveya tuşunu kullanın.tail

head wordlist.txt
tail -n 200 wordlist.txt

Metin düzenlemek için bu soruya bakın .


4
moreBunun aksine, dosyanın tamamını belleğe yükleyeceğini unutmayın less. Bu kadar büyükse, kullanmamayı tavsiye ederim. En iyi seçenek kesinlikle kullanmak olacaktır grep.
Nepho

1
Benim yorumum aslında yanlış olabilir. Hem denetleme başladı moreve lesskaynak kodu ve her ikisini kullanmak gibi openveya fopenbildiğim kadarıyla, dosya yüklendiğinde şekliyle ilgili bir şey değişmez, hangi
Nepho

2
Kabul. moreçok tarihli bir yardımcı programdır, varsa less, neden kullandığınızın bir nedeni olduğunu sanmıyorum more.
Nepho

1
@ Nepal, moreüzerinde büyük bir avantaja sahip less: LESSOPENgiriş önişlemcisini desteklemiyor . Bir man sayfasının ham metnini veya başka bir şeyi görüntülemeye çalışıyorsanız , önişlemcinin nasıl bastırılacağına karar vermek more my_docs.maniçin lessbelgelere bakmaktan çok daha hızlı bir şekilde yazın .
Mark

1
Bir şeyleri hızlandırmak için, büyük dosyalar için olduğu gibi bir şeyi daha az kullanmaya başlamanızı öneririm less -nS.
boru

10

Genellikle, sadece "grep" ihtiyacınız olanı bulmak için yeterlidir.

Belirli bir satırın etrafında daha fazla "bağlam" a ihtiyacınız varsa , ilgilenilen satırların satır numaralarını bulmak için "grep -n" tuşunu kullanın, daha sonra o satırın çevresindeki dosyanın "yığın" ını yazdırmak için sed komutunu kullanın :

$ 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 gerek kullanabileceğiniz grep -Bve -A çizgiler yazdırmak için B efore ve A ... fter
plumo

7
@ RoVo Veya -Cbir C hunk için (önce ve sonra).
wjandrea
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.