Come Leggere File di Grandi Dimensioni su Linux con Facilità

Vuoi setacciare un enorme file di log, file di testo o dataset? Non sei solo. Leggere file di grandi dimensioni su Linux può essere una sfida quando desideri visualizzare e gestire i contenuti senza sopraffare le risorse del tuo sistema. Tuttavia, ci sono diversi approcci che puoi utilizzare per leggere file di grandi dimensioni su Linux, come usare il comando less, Vim, o suddividere il documento in porzioni più piccole e altro ancora.
In questo articolo, impareremo come leggere file di grandi dimensioni o trovare informazioni specifiche su Linux utilizzando vari metodi.
Indice
- Utilizzo del Comando Less
- Suddividere il File Utilizzando il Comando Split
- Utilizzo del Midnight Commander
- Utilizzo di Klogg
- Leggere Grandi File Utilizzando un Editor di Testo
- Cercare nel File con il Comando Grep
- Utilizzo dei Comandi Head e Tail
Utilizzo del Comando Less
Cerchi uno strumento Linux leggero per visualizzare il contenuto di grandi file di testo o eseguire ricerche rapide? Non cercare oltre il comando less.
Amo questa utility perché, a differenza dei normali editor di testo, ti consente di visualizzare i file una pagina alla volta senza caricare l’intero file in memoria. Questo lo rende più veloce, soprattutto per file di grandi dimensioni, e ti aiuta a rivedere facilmente documenti lunghi o log.
Per utilizzarlo, digita semplicemente less seguito dal nome del file:
less nomefile.txtQuesto aprirà l’interfaccia di less, dove puoi scorrere il file riga per riga utilizzando i tasti freccia o cercare termini specifici premendo / seguito dalla tua query.
Puoi anche usare less per leggere gli output di altri comandi usando un operatore pipeline. Ad esempio, per leggere e visualizzare l’output del comando ls, usa:
ls -l | less
Inoltre, il comando less ha diverse opzioni per modificare il suo comportamento. Puoi combinare queste opzioni per ottimizzare il modo in cui funziona less.
Ad esempio, puoi utilizzare l’opzione -p con less per cercare un pattern specifico:
ls -l | less -p "esempio"
Questo comando apre l’output e salta alla prima occorrenza della parola esempio.
Puoi anche visualizzare i numeri di riga accanto al contenuto del file utilizzando l’opzione -N:
ls -l | less -N
Suddividere il File Utilizzando il Comando Split
A volte, suddividere un grande file in porzioni più piccole è il miglior approccio, specialmente quando vuoi elaborare o leggere il file in sezioni gestibili. Ad esempio, suddivido il file in porzioni ogni volta che la sua dimensione supera 1 GB o contiene più di 100 milioni di righe.
Puoi suddividere i file per dimensione o per conteggio di righe. Se stai lavorando con testo, è meglio suddividere per righe per evitare di tagliare righe o parole a metà.
Ad esempio, per suddividere un file in base a un numero specificato di righe, esegui questo comando:
split -l 10000 filecampione.txt parte_
In questo esempio, il file “filecampione.txt” viene suddiviso in più file, ciascuno contenente 10.000 righe. I file risultanti verranno nominati “parte_aa”, “parte_ab” e così via. Ora puoi aprire e leggere porzioni più piccole del file senza preoccuparti dell’uso della memoria o dei rallentamenti del sistema.
Se desideri suddividere file di grandi dimensioni in base alla dimensione, come 100 MB, puoi eseguire questo comando:
split -b 100M filecampione.txt parte_Utilizzo del Midnight Commander
Midnight Commander (MC) è un gestore di file basato su testo a doppio pannello che fornisce un’interfaccia visiva intuitiva per navigare tra directory e file.
MC ti consente di visualizzare i file direttamente nell’interfaccia, permettendoti di scorrere rapidamente grandi log o dati senza caricare l’intero file in memoria. Ciò che mi piace di MC è la sua modalità fluida ed efficiente di scorrimento attraverso file di grandi dimensioni.
Per installare MC, esegui semplicemente:
sudo apt install mcPuoi avviarlo eseguendo mc nel terminale. Una volta all’interno, puoi navigare verso il grande file che vuoi leggere e visualizzarne il contenuto.

Utilizzo di Klogg
Klogg è un visualizzatore di log GUI veloce e open-source che può gestire senza sforzo file di grandi dimensioni. A differenza di altri editor, che caricano l’intero file in memoria, legge solo le porzioni necessarie del file, riducendo l’uso della memoria.
Klogg offre anche capacità di filtraggio e ricerca in tempo reale, rendendo facile trovare ciò che stai cercando senza scorrere eccessivamente.
Prima di installare Klogg, devi prima creare la directory “/etc/apt/keyrings” e aggiungere la chiave GPG. La chiave GPG è necessaria per verificare il repository del pacchetto Klogg.
Per creare la directory, esegui:
sudo mkdir -p /etc/apt/keyringsOra, aggiungi la chiave GPG:
curl -sS https://klogg.filimonov.dev/klogg.gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/klogg.gpgSuccessivamente, devi aggiungere il repository Klogg al tuo sistema usando il comando curl:
curl -sS https://klogg.filimonov.dev/deb/klogg.jammy.list | sudo tee /etc/apt/sources.list.d/klogg.listAggiorna l’elenco dei pacchetti:
sudo apt updateInfine, puoi installare Klogg con questo:
sudo apt install klogg
Una volta installato, apri semplicemente il file tramite l’interfaccia e utilizza le sue funzionalità integrate per cercare e navigare attraverso i contenuti.

Leggere Grandi File Utilizzando un Editor di Testo
La maggior parte degli editor di testo ha difficoltà con file di grandi dimensioni, ma editor come Vim o Emacs gestiscono file di grandi dimensioni meglio rispetto a editor standard come Nano o Gedit.
Ad esempio, Vim ha funzionalità che ti consentono di navigare rapidamente nel file e cercare termini specifici senza caricare tutto in memoria contemporaneamente. Tuttavia, le ricerche sono limitate alle porzioni già caricate.
Per aprire un file in Vim, esegui:
vim filecampione.txtNota: Sebbene Vim possa gestire file di grandi dimensioni in modo più efficace, non è comunque lo strumento più veloce. Per visualizzazioni rapide, è generalmente più efficiente utilizzare il comando less o gli strumenti specializzati menzionati in precedenza.
Cercare nel File con il Comando Grep
Se il tuo obiettivo è trovare informazioni specifiche all’interno di un grande file, prova a utilizzare il comando grep. Ti consente di cercare all’interno dei file e di outputare solo le righe che corrispondono alla tua query di ricerca.
Quando reindirizzi l’output dei comandi in less, è temporaneo: una volta chiuso less, l’output scompare. Se vuoi mantenere l’output per dopo, reindirizzalo a un file e aprilo con uno strumento da riga di comando come less.
Ad esempio, per stampare ogni riga contenente la parola “ERROR” da un grande file, esegui:
grep "Error" filecampione.txtPuoi affinare la tua ricerca con opzioni aggiuntive, come ignorare la sensibilità alle maiuscole (grep -i) o cercare solo parole intere (grep -w).
Reindirizzare l’output a un file
Se desideri salvare informazioni specifiche per dopo, puoi reindirizzare l’output dei tuoi comandi a un nuovo file.
Ad esempio, puoi cercare righe usando il comando grep e salvarle in un nuovo file:
grep "Error" filecampione.txt > errori.logL’operatore > crea un nuovo file o lo sovrascrive ogni volta. Tuttavia, se desideri aggiungere dati a un file già presente, utilizza >> anziché l’operatore >.
Utilizzo dei Comandi Head e Tail
A volte, lavorando con grandi file su Linux, potresti aver bisogno di visualizzare solo l’inizio o la fine del file. Per fare ciò, puoi usare i comandi head o tail.
Puoi visualizzare le prime 20 righe di un file con questo:
head -n 20 filecampione.txt
Analogamente, per visualizzare le ultime 20 righe, esegui:
tail -n 20 filecampione.txtIn entrambi i casi, -n 20 specifica che desideri vedere solo le prime o le ultime 20 righe. Puoi aggiustare questo numero per visualizzare più o meno righe è necessario. Per impostazione predefinita, entrambi i comandi mostrano 10 righe.
Puoi anche combinare tail e head per navigare attraverso una porzione specifica del file. Ad esempio, per vedere le righe da 10 a 14 di un file di 100 righe, calcola la riga di partenza dalla fine sottraendo la riga di partenza meno uno dal numero totale di righe (100 - 9 = 91). Quindi, usa questo comando:
tail -n 91 filecampione.txt | head -n 5Questo mostrerà le righe da 10 a 14. Puoi confermare l’output confrontandolo con ciò che vedresti utilizzando less.
Se stai monitorando un file che si aggiorna costantemente, come un file di log, usa tail -f per seguire le modifiche in tempo reale.
Conclusione
Che tu stia esaminando log, lavorando con dataset o visualizzando un grande file di testo, questi metodi rendono il processo semplice ed efficiente. Puoi anche imparare come trovare file di grandi dimensioni su Linux e come trasferirli in un’altra posizione nel terminale.