Jeg mener 100+ MB store; slike tekstfiler kan sprenge grensene for redigeringsprogrammer.
Jeg trenger å se gjennom en stor XML-fil, men kan ikke gjøre det hvis editoren er buggy.
Har du noen forslag?
VS Code (Windows, macOS, Linux) - Gratis og åpen kildekode med et fint brukergrensesnitt. Redigerte en JSON-fil på 3,6 GB, lastet inn på et minutt. Du må ha nok RAM til å laste inn filene.
Gratis skrivebeskyttet visningsprogram:
tail
." Støtter filfølging, søk, filtrering, konfigurerbar utheving, plugins og eksterne verktøy.Gratis editorer:
Innebygde programmer (krever ingen installasjon):
MORE
, ikke Unix more
. Et konsollprogram som lar deg vise en fil, ett skjermbilde om gangen.Nettvisere:
Betalte redigeringsprogrammer:
Og til slutt, har du prøvd å åpne den store filen med ditt vanlige redigeringsprogram? Noen editorer kan faktisk håndtere rimelig store filer. Spesielt Notepad++ (Windows) og Sublime Text (Windows, macOS, Linux) støtter filer på rundt 2 GB.
Hvorfor bruker du editors for å bare se på en (stor) fil?
Under *nix eller Cygwin er det bare å bruke less. (Det finnes et berømt ordtak - "less is more, more or less" - fordi "less" erstattet den tidligere Unix-kommandoen "more", med tillegget at du kunne bla opp igjen). Å søke og navigere under less ligner veldig på Vim, men det er ingen swap-fil og det brukes lite RAM.
Det finnes en Win32-port av GNU less. Se avsnittet "less" i svaret ovenfor.
Perl er godt egnet for raske skript, og operatøren ..
(range flip-flop) er en fin seleksjonsmekanisme som begrenser hva du må vasse gjennom.
For eksempel:
$ perl -n -e 'print if ( 1000000 .. 2000000)' humongo.txt | less
Dette vil trekke ut alt fra linje 1 million til linje 2 millioner, og lar deg sile utdataene manuelt i mindre.
Et annet eksempel:
$ perl -n -e 'print if ( /regex one/ .. /regex two/)' humongo.txt | less
Denne begynner å skrive ut når "regulært uttrykk én" finner noe, og stopper når "regulært uttrykk to" finner slutten på en interessant blokk. Den kan finne flere blokker. Sorter utskriften...
Dette er et annet nyttig verktøy du kan bruke. For å sitere Wikipedia-artikkelen:
logparser er et fleksibelt kommandolinjeverktøy som opprinnelig ble skrevet av Gabriele Giuseppini, en Microsoft-ansatt, for å automatisere tester for IIS-logging. Det var ment for bruk med Windows-operativsystemet, og ble inkludert i IIS 6.0 Resource Kit Tools. Standardoppførselen til logparser fungerer som en "databehandlingspipeline" ved å ta imot et SQL-uttrykk på kommandolinjen og skrive ut de linjene som inneholder treff for SQL-uttrykket.
Microsoft beskriver Logparser som et kraftig og allsidig verktøy som gir universell spørretilgang til tekstbaserte data som loggfiler, XML-filer og CSV-filer, samt viktige datakilder i Windows-operativsystemet som hendelsesloggen, registeret, filsystemet og Active Directory. Resultatene av spørringen kan formateres som tekstbasert utdata, eller de kan overføres til mer spesialiserte mål som SQL, SYSLOG eller et diagram.
Eksempel på bruk:
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 er ikke for stort. 3 GB begynner å bli ganske stort. Jeg pleide å jobbe på et trykkeri som produserte ca. 2 % av USAs førsteklasses post. Et av systemene jeg var teknisk ansvarlig for, sto for mer enn 15 % av postforsendelsene. Vi hadde noen store filer å feilsøke her og der.
Legg gjerne til flere verktøy og mer informasjon her. Det er en grunn til at dette svaret er en felles wiki! Vi trenger alle flere råd om håndtering av store datamengder...