Lavorare con una distribuzione del sistema operativo Linux ti offre una prospettiva davvero unica su quanto può essere alterabile il mondo informatico. Ad esempio, eliminare gli spazi vuoti sui file di testo può sembrare un'attività noiosa a meno che tu non stia utilizzando Linux come sistema operativo principale.
Gli spazi bianchi non sono solo orizzontali come la spaziatura delle parole in questo articolo o altri caratteri stampabili. Gli spazi bianchi esistono anche come spaziatura verticale di righe e/o paragrafi. Allora perché rimuovere gli spazi bianchi? Il motivo principale è disinfettare la prospettiva del tuo file di testo mirato.
File di testo di riferimento
Considera il seguente file di testo di esempio.
$ sudo nano sample_file.txt
Come per l'acquisizione dello schermo sopra, possiamo evidentemente notare che il file di testo mostra sintomi di spazi bianchi sia verticali che orizzontali. Possiamo usare il comando cat più il -n
opzione per aprire questo file in una vista numerata.
$ cat -n sample_file.txt
Gli ovvi caratteri di spazio bianco visualizzati su un file di testo includono spazi, tabulazioni e interruzioni di riga. Per rimuovere tutti questi caratteri di spazio bianco, prenderemo in considerazione l'aiuto e l'uso di tre comandi Linux integrati.
Metodo 1:utilizzo del comando tr
Il comando tr prenderà il file di testo sopra come input, tradurrà il contenuto del file di testo, cancellerà i caratteri di spazio bianco e successivamente riscriverà sul file un output di caratteri non di spazio vuoto.
Tuttavia, dobbiamo fornire il comando tr con requisiti di esecuzione specifici, ad esempio se rimuovere gli spazi bianchi orizzontali, gli spazi vuoti verticali o entrambi.
Rimuovi gli spazi bianchi orizzontali nel file
Useremo il "[:blank:]"
carattere come parte di un comando e in seguito esegui il comando cat per stampare il layout finale del file.
$ tr -d "[:blank:]" < sample_file.txt | cat -n
Come per l'output sopra, abbiamo eliminato con successo i caratteri di spazio bianco orizzontale dal file di testo in Linux.
Rimuovi tutti gli spazi vuoti nel file
Il "[:space:]"
l'opzione viene utilizzata per rimuovere gli spazi bianchi orizzontali e verticali da un file di testo.
$ tr -d "[:space:]" < raw_file.txt | cat -n
Metodo 2:utilizzo del comando sed
Poiché il comando sed è comunemente implementato con espressioni regolari, possiamo usarlo nel modo seguente:
$ sed 's/[[:blank:]]//g' sample_file.txt | cat -n [Remove Horizontal Spaces] $ sed ':a; N; s/[[:space:]]//g; ta' sample_file.txt | cat -n [Remove All Spaces]
Metodo 2:utilizzo del comando awk
Questa potente utilità di elaborazione del testo utilizza il suo script simile al C e altre funzioni e variabili integrate per manipolare in modo flessibile l'elaborazione del testo.
Utilizzeremo la sua funzione gsub nel modo seguente per rimuovere gli spazi vuoti orizzontali.
$ awk '{gsub(/[[:blank:]]/,""); print}' sample_file.txt | cat -n
Per rimuovere tutti i caratteri di spazio bianco da un file di testo, apporteremo la seguente modifica al comando precedente:
$ awk -v ORS="" '{gsub(/[[:space:]]/,""); print}' sample_file.txt | cat -n
Con i tre approcci ai comandi Linux sopra discussi, eliminare gli spazi vuoti indesiderati sui file di testo in Linux non dovrebbe essere un problema.