Büyük (dev, dev, büyük) metin dosyalarını açmak için metin düzenleyici

Yani 100+ MB büyüklüğünde; bu tür metin dosyaları editörlerin sınırlarını zorlayabilir.

Büyük bir XML dosyasına bakmam gerekiyor, ancak editör hatalıysa bakamıyorum.

Öneriniz var mı?

Çözüm

VS Code (Windows, macOS, Linux) - Güzel bir GUI ile Ücretsiz ve Açık Kaynak. Bir dakika içinde yüklenen 3,6 GB JSON dosyasını düzenledi. Dosyaları yüklemek için yeterli RAM'e sahip olmalısınız.

Ücretsiz salt okunur görüntüleyiciler:

  • glogg (Windows, macOS, Linux) - Çok GB'lı dosyaları işleyebildiği onaylandı. Ana özelliği düzenli ifade aramasıdır. Sekmeleri vardır, dosyaları doğrudan diskten okur, dosyaları izleyebilir / takip edebilir ve kullanıcının satırları işaretlemesine izin verir.
  • LogExpert**]3 (Windows) - "A GUI replacement for tail." Dosya izleme, arama, filtreleme, yapılandırılabilir vurgulama, eklentiler ve harici araçları destekler.
  • Large Text File Viewer (Windows) - Minimalist ve çok küçük yürütülebilir boyuta sahip. Bölünmüş görünümü, metin teması özelleştirmesini, regex aramasını ve dosya takibini destekler.
  • Lister (Windows) - Daha da küçük ve minimalist. Sadece 500 KB'lık bir çalıştırılabilir dosyadır, ancak yine de aramayı (regex'lerle), yazdırmayı, bir hex editör modunu ve ayarları destekler.

Özgür editörler:

  • Vim ve Emacs** (Windows, macOS, Linux) - Klasik Unix editörleri. Dik öğrenme eğrisi, ancak acımasızca verimli. Onları daha da hızlı hale getirmek için ayarlanabilen ayarlara sahiptirler.
  • Large File Editor (Windows) - TB+ dosyaları açar ve düzenler, Unicode'u destekler, az bellek kullanır, XML'e özgü özelliklere sahiptir ve ikili mod içerir.
  • HxD (Windows) - Bir metin editörü değil, bir hex editörüdür; ancak inanılmaz derecede hızlı ve kullanışlıdır.
  • GigaEdit (Windows) - Arama, karakter istatistikleri ve yazı tipi özelleştirmesini destekler. Ancak hatalıdır - büyük dosyalarda, yalnızca karakterlerin üzerine yazılmasına izin verir, bunları eklemez; satır sonlandırıcı olarak LF'ye saygı göstermez, yalnızca CRLF; ve yavaş.

Yerleşik programlar (kurulum gerektirmez):

  • less (macOS, Linux) - Geleneksel Unix komut satırı çağrı cihazı aracı. Neredeyse her boyuttaki metin dosyalarını görüntülemenizi sağlar. Windows'a da kurulabilir.
  • Notepad (Windows) - Özellikle kelime kaydırma kapalıyken büyük dosyalarda iyi.
  • MORE (Windows) - Bu Unix moreu değil, Windows MOREu ifade eder. Bir dosyayı her seferinde bir ekran görüntülemenizi sağlayan bir konsol programı.

Web izleyicileri:

  • htmlpen.com - TB+ dosyalarını açabilir ve sözdizimi vurgulayabilir. Çok büyük dosyalar dışında düzenlemeye izin verir. Arama, regex ve dışa aktarmayı destekler.
  • readfileonline.com - Başka bir HTML5 büyük dosya görüntüleyici. Aramayı destekler.

Ücretli editörler:

  • 010 Editor (Windows, macOS, Linux) - Devasa (50 GB'a kadar) dosyaları açar.
  • SlickEdit (Windows, macOS, Linux) - Büyük dosyaları açar.
  • UltraEdit (Windows, macOS, Linux) - 6 GB'den büyük dosyaları açar, ancak bunun pratik olması için yapılandırmanın değiştirilmesi gerekir: Menü » Gelişmiş » Yapılandırma » Dosya İşleme » Geçici Dosyalar » Geçici dosya olmadan dosya aç ...
  • EmEditor (Windows) - Çok büyük metin dosyalarını güzel bir şekilde işler (resmi olarak 248 GB'a kadar, ancak bir rapora göre 900 GB'a kadar).

Ve son olarak, büyük dosyayı normal düzenleyicinizle açmayı denediniz mi? Bazı editörler aslında oldukça büyük dosyaları işleyebilir. Özellikle Notepad++ (Windows) ve Sublime Text (Windows, macOS, Linux) 2 GB aralığındaki dosyaları destekler.

Yorumlar (61)

İpuçları ve püf noktaları

daha az

Neden (büyük) bir dosyaya sadece bakmak için editör kullanıyorsunuz?

Nix veya Cygwin altında, sadece less kullanın. (Ünlü bir deyiş vardır - "less is more, more or less" - çünkü "less" daha önceki Unix komutu "more"'un yerini almıştır, ek olarak yukarı kaydırabilirsiniz). less altında arama ve gezinme Vim'e çok benzer, ancak takas dosyası yoktur ve çok az RAM kullanılır.

GNU less'un bir Win32 portu vardır. Yukarıdaki cevabın "less" bölümüne bakınız.

Perl

Perl hızlı komut dosyaları için iyidir ve .. (range flip-flop) operatörü, içinden geçmeniz gereken pislikleri sınırlamak için güzel bir seçim mekanizması sağlar.

Örneğin:

$ perl -n -e 'print if ( 1000000 .. 2000000)' humongo.txt | less

Bu, 1 milyon satırdan 2 milyon satıra kadar her şeyi çıkaracak ve çıktıyı daha az manuel olarak elemenize izin verecektir.

Başka bir örnek:

$ perl -n -e 'print if ( /regex one/ .. /regex two/)' humongo.txt | less

Bu, "regular expression one" bir şey bulduğunda yazdırmaya başlar ve "regular expression two" ilginç bir bloğun sonunu bulduğunda durur. Birden fazla blok bulabilir. Çıktıyı eleyin...

logparser

Bu da kullanabileceğiniz bir başka faydalı araçtır. Wikipedia makalesinden]3 alıntı yapmak gerekirse:

logparser, başlangıçta bir Microsoft çalışanı olan Gabriele Giuseppini tarafından IIS günlüğü testlerini otomatikleştirmek için yazılmış esnek bir komut satırı yardımcı programıdır. Windows işletim sistemi ile kullanılmak üzere tasarlanmıştır ve IIS 6.0 Kaynak Kiti Araçlarına dahil edilmiştir. Logparser'ın varsayılan davranışı, komut satırında bir SQL ifadesi alarak ve SQL ifadesi için eşleşmeleri içeren satırların çıktısını alarak bir "veri işleme boru hattı" gibi çalışır.

Microsoft, Logparser'ı günlük dosyaları, XML dosyaları ve CSV dosyaları gibi metin tabanlı verilerin yanı sıra Olay Günlüğü, Kayıt Defteri, dosya sistemi ve Active Directory gibi Windows işletim sistemindeki temel veri kaynaklarına evrensel sorgu erişimi sağlayan güçlü ve çok yönlü bir araç olarak tanımlıyor. Giriş sorgusunun sonuçları metin tabanlı çıktıda özel olarak biçimlendirilebilir veya SQL, SYSLOG veya bir grafik gibi daha özel hedeflere kalıcı olarak gönderilebilir.

Örnek kullanım:

C:\>logparser.exe -i:textline -o:tsv "select Index, Text from 'c:\path\to\file.log' where line > 1000 and line < 2000"
C:\>logparser.exe -i:textline -o:tsv "select Index, Text from 'c:\path\to\file.log' where line like '%pattern%'"

Boyutların göreliliği

100 MB çok büyük değil. 3 GB biraz büyük olmaya başladı. Eskiden ABD'deki birinci sınıf postanın yaklaşık %2'sini üreten bir baskı ve posta tesisinde çalışıyordum. Teknik liderliğini yaptığım sistemlerden biri, posta parçalarının yaklaşık %15+'sını oluşturuyordu. Burada ve orada hata ayıklamamız gereken bazı büyük dosyalarımız vardı.

Ve daha fazlası...

Buraya daha fazla araç ve bilgi eklemekten çekinmeyin. Bu yanıtın topluluk vikisi olmasının bir nedeni var! Hepimizin büyük miktarda veriyle başa çıkma konusunda daha fazla tavsiyeye ihtiyacı var...

Yorumlar (12)