Mam na myśli 100+ MB wielkości; takie pliki tekstowe mogą przesunąć kopertę edytorów.
Muszę przejrzeć duży plik XML, ale nie mogę, jeśli edytor jest zabugowany.
Jakieś sugestie?
VS Code (Windows, macOS, Linux) - Wolne i otwarte źródło z ładnym GUI. Edytowany plik JSON o rozmiarze 3,6 GB, załadowany w minutę. Musisz mieć wystarczająco dużo pamięci RAM, aby załadować pliki.
Darmowe przeglądarki tylko do odczytu:
tail
." Obsługuje śledzenie plików, wyszukiwanie, filtrowanie, konfigurowalne podświetlanie, wtyczki i zewnętrzne narzędzia.Darmowe edytory:
Wbudowane programy (nie wymagają instalacji):
MORE
, a nie Unixowego more
. Program konsolowy, który pozwala na przeglądanie pliku, jeden ekran na raz.Przeglądarki internetowe:
Płatne edytory:
I na koniec, czy próbowałeś otworzyć ten duży plik w swoim zwykłym edytorze? Niektóre edytory radzą sobie z dość dużymi plikami. W szczególności, Notepad++ (Windows) i Sublime Text (Windows, macOS, Linux) obsługują pliki o rozmiarze 2 GB.
Dlaczego używasz edytorów, aby tylko przeglądać (duży) plik?
Pod *nixem lub Cygwinem, po prostu użyj less. (Jest takie słynne powiedzenie - "less is more, more or less" - ponieważ "less" zastąpiło wcześniejsze uniksowe polecenie "more", z dodatkiem, że można było przewijać w górę). Wyszukiwanie i nawigacja pod less jest bardzo podobna do Vima, ale nie ma pliku wymiany i używana jest niewielka ilość pamięci RAM.
Istnieje port GNU less na Win32. Zobacz sekcję "less" w powyższej odpowiedzi.
Perl jest dobry do szybkich skryptów, a jego ..
(operator przerzucania zakresów) jest miłym mechanizmem selekcji, ograniczającym bzdury, przez które musisz się przedzierać.
Na przykład:
$ perl -n -e 'print if ( 1000000 .. 2000000)' humongo.txt | less
Spowoduje to wyodrębnienie wszystkiego od linii 1 miliona do linii 2 miliona i pozwoli na ręczne przesianie danych wyjściowych w less.
Inny przykład:
$ perl -n -e 'print if ( /regex one/ .. /regex two/)' humongo.txt | less
To zaczyna drukować, gdy "wyrażenie regularne jeden" coś znajdzie, i zatrzymuje się, gdy "wyrażenie regularne dwa" znajdzie koniec interesującego bloku. Może znaleźć wiele bloków. Przesiej dane wyjściowe...
Jest to kolejne przydatne narzędzie, którego możesz użyć. Cytując artykuł z Wikipedii:
logparser to elastyczne narzędzie wiersza poleceń, które początkowo zostało napisane przez Gabriele Giuseppini, pracownika firmy Microsoft, w celu zautomatyzowania testów logowania IIS. Było ono przeznaczone do użytku z systemem operacyjnym Windows i zostało dołączone do IIS 6.0 Resource Kit Tools. Domyślne zachowanie logparsera działa jak "potok przetwarzania danych", przyjmując wyrażenie SQL z wiersza poleceń i wypisując linie zawierające dopasowania do wyrażenia SQL.
Microsoft opisuje Logparser jako potężne, wszechstronne narzędzie, które zapewnia uniwersalny dostęp do zapytań do danych tekstowych, takich jak pliki dziennika, pliki XML i pliki CSV, a także kluczowe źródła danych w systemie operacyjnym Windows, takie jak dziennik zdarzeń, rejestr, system plików i Active Directory. Wyniki zapytań mogą być sformatowane jako tekstowe dane wyjściowe lub mogą być przechowywane w bardziej specjalistycznych miejscach, takich jak SQL, SYSLOG lub wykres.
Przykład użycia:
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%'"
100 MB nie jest'zbyt duże. 3 GB jest coraz większe. Kiedyś pracowałem w print & mail facility, który stworzył około 2% pierwszej klasy poczty w USA. Jeden z systemów, dla których byłem tech lead stanowił około 15+% kawałków poczty. Mieliśmy kilka dużych plików do debugowania tu i tam.
Czuj się swobodnie, aby dodać więcej narzędzi i informacji tutaj. Ta odpowiedź jest wiki społeczności z jakiegoś powodu! Wszyscy potrzebujemy więcej porad na temat radzenia sobie z dużymi ilościami danych...