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


1023

Yani 100+ MB büyük; bu tür metin dosyaları editörlerin zarfını itebilir.

Ben büyük bir XML dosyası bakmak gerekir, ancak editör arabası olamaz.

Herhangi bir öneri?


166
Aslında, 100+ MB ve hatta 1+ GB metin dosyaları düşündüğünüz kadar nadir değildir (örneğin, meşgul sunuculardaki günlük dosyaları).
Anders Sandvig

15
Gizlice: Ve tam olarak metin değil. Metin dosyalarını okuma ve ikili dosyaları okuma gereksinimleri biraz farklı olduğunu düşünüyorum. Yine de base64 veya uuencode üzerinden iletebilirsiniz.
Joey

2
Bu en azından benzer bir soru olmalı ya da 18 ay önce sorulduğu gibi bağlantılı olmalıdır ... stackoverflow.com/questions/102829/…
ONDEV

1
Ayrıca oluşturduğum bazı büyük günlük dosyalarını okumak için bu tam sorunun cevabını arıyordum!
HorseloverFat

1
@BlairHippo Aynı şekilde hissediyorum, bir soru sorduğumda neredeyse gerginim çünkü biri "Bunu kapat, bunun yerine WhateverExchange'e gitmeli" diyebilme şansı yüksek
Rodolfo

Yanıtlar:


1386

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

  • Büyük Metin Dosya Görüntüleyicisi (Windows) - Tamamen özelleştirilebilir tema (renkler, yazı tipleri, sözcük kaydırma, sekme boyutu). Yatay ve dikey bölünmüş görünümü destekler. Ayrıca aşağıdaki dosya ve regex aramayı destekleyin. Çok hızlı, basit ve küçük yürütülebilir boyutu vardır.
  • klogg (Windows, macOS, Linux) - Glogg'un korunan bir çatalı, ana özelliği düzenli ifade aramasıdır . Ayrıca dosyaları izleyebilir, kullanıcının satırları işaretlemesine izin verir ve yerleşik ciddi optimizasyonlara sahiptir. Ancak bir UI açısından çirkin ve tıknazdır.
  • LogExpert (Windows) - "için bir GUI değiştirmetail." Bu gerçekten bir günlük dosyası analizörü, büyük bir dosya görüntüleyici değil ve bir testte 250 MB dosya yüklemek için 10 saniye ve 700 MB RAM gerekiyordu. Ancak katil özellikleri, sütun oluşturucudur (CSV, JSONL, vb. Ve elektronik tablo biçiminde görüntülenen ayrıştırma günlükleri) ve vurgulayıcıdır (belirli renklerde belirli kelimeleri içeren satırları gösterir). Ayrıca dosya takibi, sekmeler, çoklu dosyalar, yer imleri, arama, eklentiler ve harici araçları da destekler.
  • Lister (Windows) - Çok küçük ve minimalist. Bir tane çalıştırılabilir, ancak 500 KB, ancak yine de (regexes ile) aramayı, yazdırmayı, onaltılık düzenleyici modunu ve ayarları destekliyor.
  • loxx (Windows) - Aşağıdaki dosyayı, vurgulamayı, satır numaralarını, devasa dosyaları, normal ifadeyi , birden çok dosyayı ve görünümü ve çok daha fazlasını destekler. Ücretsiz sürüm: regex işlemek, dosyaları filtrelemek, zaman damgalarını senkronize etmek ve değiştirilen dosyaları kaydetmek.

Ücretsiz editörler:

  • Düzenli düzenleyiciniz veya IDE'niz. Modern editörler şaşırtıcı derecede büyük dosyaları işleyebilir. Özellikle, Vim (Windows, macOS, Linux), Emacs (Windows, macOS, Linux), Notepad ++ (Windows), Sublime Text (Windows, macOS, Linux) ve VS Code (Windows, macOS, Linux) büyük (~ RAM'e sahip olduğunuzu varsayarsak.
  • Büyük Dosya Düzenleyici (Windows) - TB + dosyalarını açar ve düzenler, Unicode'u destekler, çok az bellek kullanır, XML'ye özgü özelliklere sahiptir ve ikili mod içerir.
  • GigaEdit (Windows) - Arama, karakter istatistikleri ve yazı tipi özelleştirmeyi destekler. Ancak buggy - büyük dosyalarla, karakterlerin üzerine yazılmasına değil, sadece üzerine yazılmasına izin verir; LF'ye bir satır sonlandırıcı olarak saygı göstermez, sadece CRLF; ve yavaş.

Yerleşik programlar (kurulum gerekmez):

  • less (macOS, Linux) - Geleneksel Unix komut satırı çağrı aracı. Hemen hemen her boyuttaki metin dosyalarını görüntülemenizi sağlar. Windows'a da yüklenebilir.
  • Not Defteri (Windows) - Özellikle word wrap kapalı olduğunda büyük dosyalarda kullanılabilir.
  • Daha fazla (Windows) - BuMORE, Unix için değil,Windowsiçin geçerlidirmore. Her seferinde bir ekran olmak üzere bir dosyayı görüntülemenizi sağlayan bir konsol programı.

Web görüntüleyicileri:

  • readfileonline.com - Başka bir HTML5 büyük dosya görüntüleyicisi. Aramayı destekler.

Ücretli editörler:

  • 010 Editör (Windows, macOS, Linux) - Dev (50 GB kadar büyük) 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 dosyayı aç ...
  • EmEditor (Windows) - Çok büyük metin dosyalarını güzelce işler (resmi olarak 248 GB'a kadar, ancak bir rapora göre 900 GB'a kadar).

60
VIM veya Emacs ... zehirinizi seçin, her ikisi de onlara attığınız herhangi bir dosyayı işleyecektir. Şahsen Emacs'ı tercih ediyorum, ancak her ikisi de bir hıçkırık olmadan not defterini yenecek.
Mike Stone

25
Emacs, temel mimariye (32 veya 64 bit) bağlı olarak maksimum bir tampon boyutuna sahiptir. 32 bit sistemlerde 128 MB'den büyük dosyalarda "maksimum arabellek boyutu aşıldı" hatası aldığını düşünüyorum.
Rafał Dowgird

82
Ben sadece 561MB günlük dosyası ile Notepad ++ denedim ve çok büyük olduğunu söyledi
barfoon

9
@Rafal İlginç! 64bit'te ~ 1024 petabayt gibi görünüyor. Nedeni emacs tampon noktası (nokta gibi) izlemek zorunda olduğu gerçeği ile ilgilidir
baudtack

79
Ancak dikkatli olun, vim yalnızca söz konusu dosyalar yeterli satır kesmesi olduğu sürece çalışacaktır. Bir keresinde bir ca düzenlemek zorunda kaldı. Herhangi bir satır kırılmadan 150 MB dosya ve vim halledemedim çünkü gedit başvurmak zorunda kaldı.
Benno

192

Ipuçları ve Püf noktaları

az

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

* Nix veya Cygwin altında daha azını kullanın . (Ünlü bir deyiş vardır - "daha az, daha çok veya daha azdır" - çünkü "daha az", önceki Unix komutunun "daha fazla" yerine geri dönebileceğiniz eklentinin yerini almıştır.) Daha az arama ve gezinme çok benzer Vim, ama takas dosyası ve az RAM kullanılmış.

GNU'nun daha az bir Win32 portu var. Yukarıdaki cevabın "daha az" bölümüne bakın.

Perl

Perl, hızlı komut dosyaları için iyidir ve ..(aralıklı flip-flop) operatörü, geçmeniz gereken pudrayı 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 çıkarır ve çıktıyı manuel olarak daha az elemenize izin verir.

Başka bir örnek:

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

Bu "normal ifade bir" bir şey bulduğunda yazdırmaya başlar ve "normal ifade iki" ilginç bir bloğun sonunu bulduğunda durur. Birden fazla blok bulabilir. Çıkışı eleyin ...

logparser

Bu, kullanabileceğiniz başka bir yararlı araçtır. Wikipedia makalesini alıntılamak için :

logparser , başlangıçta bir Microsoft çalışanı olan Gabriele Giuseppini tarafından IIS günlüğü için testleri otomatikleştirmek üzere yazılmış esnek bir komut satırı yardımcı programıdır. Windows işletim sistemiyle kullanılmak üzere tasarlanmıştır ve IIS 6.0 Kaynak Seti 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şmeler içeren satırların çıktısını alarak "veri işleme kanalı" gibi çalışır.

Microsoft, Logparser'ı günlük dosyaları, XML dosyaları ve CSV dosyaları gibi metin tabanlı verilere ve Olay Günlüğü, Kayıt Defteri, dosya sistemi ve Active Directory. Giriş sorgusunun sonuçları, metin tabanlı çıktıda özel olarak biçimlendirilebilir veya SQL, SYSLOG veya grafik gibi daha fazla özel hedef için kalıcı olabilir.

Ö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üyor. ABD birinci sınıf postalarının yaklaşık% 2'sini oluşturan bir yazdırma ve posta tesisinde çalışıyordum. Teknoloji lideri olduğum sistemlerden biri posta parçalarının yaklaşık% 15'ini oluşturuyordu. Orada hata ayıklamak için bazı büyük dosyaları vardı.

Ve dahası...

Buraya daha fazla araç ve bilgi eklemekten çekinmeyin. Bu cevap bir sebepten dolayı topluluk wiki'sidir! Büyük miktarda veriyle uğraşmak için hepimizin daha fazla tavsiyeye ihtiyacı var ...


8
+1, son zamanlarda bakmam gereken gerçekten büyük xml dosyaları (+1 gigabayt) vardı. Windows'tayım ve hem vim, emacs, notepad ++ ve diğer birkaç editör, dosyayı açmaya çalışırken sistemimin neredeyse kullanılamaz hale geldiği noktaya kadar tamamen boğuldu. Bir süre sonra, dosyayı sadece -editor- içinde açmaya çalışmanın ne kadar gereksiz olduğunu fark ettim. Cygwin (ve bazı akıllı grep / less / sed-magic) kullanarak ilgilendiğim kısmı kolayca buldum ve herhangi bir güçlük çekmeden okuyabiliyordum.
wasatz


2
Bu XML düzenleyici ayrıca büyük bir dosya görüntüleyici bileşenine sahiptir ve büyük dosyalar için de sözdizimi renklendirme sağlar. Dosyalar tamamen belleğe yüklenmediğinden, çok GB'lı bir belge sorun oluşturmamalıdır. Buna ek olarak, bu araç bu büyük XML belgelerini de doğrulayabilir ... Bence büyük XML verileriyle çalışmak için en iyi yaklaşımlardan biri.
lichtfusion

9
Tamam, sadece kendi sorunumu çözdüm. lesskelime sarma ile yavaş. less -Skelime sarma olmadan büyük çizgiler üzerinde bile hızlı yıldırım. Tekrar mutluyum!
Andy Brown

6
Mükemmel cevap. Windows için Git yüklüyse, muhtemelen Git bash'ın da bulunduğunu belirtmek isterim less.
transistor1
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.