Mám na mysli veľkosť 100 a viac MB; takéto textové súbory môžu prekonať možnosti editorov.
Potrebujem si prezrieť veľký súbor XML, ale nemôžem, ak je editor chybný.
Nejaké návrhy?
VS Code (Windows, macOS, Linux) - Bezplatný a otvorený softvér s pekným grafickým rozhraním. Upravil 3,6 GB súbor JSON, načítal sa za minútu. Na načítanie súborov musíte mať dostatok pamäte RAM.
Bezplatné prehliadače len na čítanie:
tail
." Podporuje sledovanie súborov, vyhľadávanie, filtrovanie, konfigurovateľné zvýrazňovanie, zásuvné moduly a externé nástroje.Bezplatné editory:
Vstavané programy (bez nutnosti inštalácie):
MORE
systému Windows, nie na more
systému Unix. Konzolový program, ktorý umožňuje zobraziť súbor po jednej obrazovke.Webové prehliadače:
Platené editory:
A nakoniec, skúsili ste otvoriť veľký súbor pomocou bežného editora? Niektoré editory skutočne dokážu spracovať pomerne veľké súbory. Konkrétne Notepad++ (Windows) a Sublime Text (Windows, macOS, Linux) podporujú súbory s veľkosťou okolo 2 GB.
Prečo používate editor len na pohľad na (veľký) súbor?
Pod *nixom alebo Cygwin stačí použiť less. (Existuje známe príslovie - "less je viac, viac alebo menej" - pretože "less" nahradil starší unixový príkaz "more" s dodatkom, že môžete rolovať späť.) Vyhľadávanie a navigácia pod príkazom less je veľmi podobná príkazu Vim, ale nepoužíva sa tu žiadny výmenný súbor a málo pamäte RAM.
Existuje port GNU less pre systém Win32. Pozri časť "less" v odpovedi vyššie.
Perl je dobrý na rýchle skripty a jeho operátor ..
(preklopenie rozsahu) predstavuje pekný výberový mechanizmus na obmedzenie množstva skriptov, ktorými sa musíte prebíjať.
Napríklad:
$ perl -n -e 'print if ( 1000000 .. 2000000)' humongo.txt | less
Týmto spôsobom sa vyextrahuje všetko od riadku 1 milión po riadok 2 milión a umožní vám to v menšej miere ručne preosiať výstup.
Ďalší príklad:
$ perl -n -e 'print if ( /regex one/ .. /regex two/)' humongo.txt | less
Toto začne tlačiť, keď "regulárny výraz jedna" niečo nájde, a skončí, keď "regulárny výraz dva" nájde koniec zaujímavého bloku. Môže nájsť viacero blokov. Výstup preosievajte...
Toto je ďalší užitočný nástroj, ktorý môžete použiť. Citujem článok na Wikipédii:
logparser je flexibilný nástroj príkazového riadka, ktorý pôvodne napísal Gabriele Giuseppini, zamestnanec spoločnosti Microsoft, na automatizáciu testov pre protokolovanie IIS. Bol určený na použitie s operačným systémom Windows a bol súčasťou sady nástrojov IIS 6.0 Resource Kit Tools. Predvolené správanie logparseru funguje ako "potrubie na spracovanie údajov", pričom prijíma výraz SQL na príkazovom riadku a vypíše riadky obsahujúce zhody pre výraz SQL.
Spoločnosť Microsoft opisuje Logparser ako výkonný, univerzálny nástroj, ktorý poskytuje univerzálny prístup k dotazom na textové údaje, ako sú súbory denníka, súbory XML a súbory CSV, ako aj kľúčové zdroje údajov v operačnom systéme Windows, napríklad protokol udalostí, register, súborový systém a Active Directory. Výsledky vstupného dotazu možno naformátovať podľa vlastného uváženia v textovom výstupe alebo ich možno perzistovať do špecializovanejších cieľov, ako je SQL, SYSLOG alebo graf.
Príklad použitia:
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 je'príliš veľké. 3 GB je už trochu veľa. Kedysi som pracoval v tlačiarni & poštovom zariadení, ktoré vytvorilo asi 2 % americkej pošty prvej triedy. Jeden zo systémov, pre ktorý som bol technickým vedúcim, predstavoval asi 15+ % poštových zásielok. Tu a tam sme museli ladiť nejaké veľké súbory.
Neváhajte sem pridať ďalšie nástroje a informácie. Táto odpoveď je komunitná wiki z nejakého dôvodu! Všetci potrebujeme viac rád, ako pracovať s veľkým množstvom údajov...