Tutorial sui comandi Espandi e deespandi con esempi
In questa guida parleremo di due comandi Linux meno conosciuti, vale a dire Espandi e Unexpand con esempi pratici. Per coloro che se lo chiedono, il comando Espandi viene utilizzato per sostituire i caratteri TAB con caratteri SPAZIO nei file e il comando Unexpand fa il contrario, ovvero sostituisce i caratteri SPAZIO con caratteri TAB in un file. Infatti, MS-DOS dispone anche di un comando chiamato "Espandi", che viene utilizzato per espandere un file compresso. Ma il comando Espandi di Linux converte semplicemente le schede in spazi. Questi due comandi fanno parte di GNU coreutils e sono scritti da David MacKenzie.
A scopo dimostrativo, in questa guida utilizzerò un file di testo denominato "ostechnix.txt".
Espandi esempi di comandi
Come già affermato, il comando Espandi sostituisce i caratteri TAB in un file con caratteri SPAZIO.
Per convertire le tabulazioni in spazi in un file, ad esempio "ostechnix.txt", e scrivere il risultato sull'output standard utilizzando il comando:
expand ostechnix.txtSe non vuoi visualizzare il risultato nell'output standard, caricalo semplicemente in un altro file come di seguito.
expand ostechnix.txt>output.txt
Possiamo anche convertire le tabulazioni in spazi, leggendo dallo standard input. Per fare ciò, esegui semplicemente il comando "espandi" senza menzionare il nome del file sorgente:
expandBasta digitare il testo e premere INVIO per convertire le tabulazioni in spazi. Premi CTRL+C per uscire.
Se non vuoi convertire le tabulazioni dopo non spazi, usa il flag -i come di seguito.
expand -i ostechnix.txtPossiamo anche avere tabulazioni distanti un certo numero di caratteri, non 8 (il valore predefinito):
expand -t=5 ostechnix.txtPuoi anche menzionare più posizioni di tabulazione separate da virgole come di seguito.
expand -t 5,10,15 ostechnix.txtO,
expand -t "5 10 15" ostechnix.txtPer maggiori dettagli, fare riferimento alle pagine man.
man expandEsempi di comandi di espansione
Il comando Riduci farà l'opposto del comando Espandi. Convertirà i caratteri SPAZIO in caratteri TAB. Lascia che ti mostri alcuni esempi per imparare come utilizzare il comando Unexpand.
Per convertire gli spazi vuoti (spazi, ovviamente) in un file in tabulazioni e scrivere l'output su stdout, esegui:
unexpand ostechnix.txtSe vuoi scrivere l'output in un file invece di visualizzarlo semplicemente su stdout, usa questo comando:
unexpand ostechnix.txt>output.txt
Converti spazi vuoti in tabulazioni, leggendo dall'output standard:
unexpandPer impostazione predefinita, il comando Unexpand convertirà solo gli spazi iniziali. Se desideri convertire tutti gli spazi vuoti, anziché solo gli spazi iniziali, utilizza il flag -a:
unexpand -a ostechnix.txtPer convertire solo le sequenze iniziali di spazi vuoti (tieni presente che sovrascrive -a):
unexpand --first-only ostechnix.txtLe tabulazioni devono essere separate da un certo numero di caratteri, non da 8 (abilita -a):
unexpand -t 5 ostechnix.txtAllo stesso modo, possiamo menzionare più posizioni di tabulazione separate da virgole come di seguito.
unexpand -t 5,10,15 ostechnix.txtO,
unexpand -t "5 10 15" ostechnix.txtPer maggiori dettagli, fare riferimento alle pagine man.
man unexpandLettura consigliata:
- Tutorial sul comando di piega con esempi per principianti
Quando lavori su un numero elevato di file, i comandi Espandi e Deespandi potrebbero essere molto utili per sostituire i caratteri TAB indesiderati con caratteri SPAZIO e viceversa.