In questa guida parleremo di due comandi Linux meno conosciuti, ovvero Espandi e Annulla espansione con esempi pratici. Per coloro che si chiedono, il comando Espandi viene utilizzato per sostituire i caratteri TAB con i caratteri SPAZIO nei file e il comando Unexpand fa l'opposto, ovvero sostituisce i caratteri SPAZIO con i caratteri TAB in un file. In effetti, MS-DOS ha anche 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 scritto da David MacKenzie .
A scopo dimostrativo, utilizzerò un file di testo denominato "otechnix.txt" in questa guida.
Espandi esempi di comandi
Come già detto, il comando Espandi sostituisce i caratteri TAB in un file con i caratteri SPAZIO.
Per convertire le tabulazioni in spazi in un file, ad esempio "otechnix.txt", e scrivere il risultato nello standard output usando il comando:
$ expand ostechnix.txt
Se non vuoi visualizzare il risultato nell'output standard, caricalo su un altro file come di seguito.
$ expand ostechnix.txt>output.txt
Possiamo anche convertire le tabulazioni in spazi, leggendo dallo standard input. Per farlo, esegui semplicemente il comando "espandi" senza menzionare il nome del file sorgente:
$ expand
Basta digitare il testo e premere INVIO per convertire le schede in spazi. Premi CTRL+C per uscire.
Se non vuoi convertire le schede dopo gli spazi non vuoti, usa -i segnala come sotto.
$ expand -i ostechnix.txt
Possiamo anche avere tab a un certo numero di caratteri a parte, non 8 (il valore predefinito):
$ expand -t=5 ostechnix.txt
Puoi anche menzionare più posizioni di tabulazione con virgole separate come di seguito.
$ expand -t 5,10,15 ostechnix.txt
Oppure,
$ expand -t "5 10 15" ostechnix.txt
Per maggiori dettagli, fare riferimento alle pagine man.
$ man expand
Esempi di comando di annullamento dell'espansione
Il Unexpand il comando farà l'opposto del comando Espandi. Converte i caratteri SPACE in caratteri TAB. Lascia che ti mostri alcuni esempi per imparare a usare il comando Unexpand.
Per convertire gli spazi vuoti (spazi, ovviamente) in un file in tabulazioni e scrivere l'output in stdout, fai:
$ unexpand ostechnix.txt
Se 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 schede, leggendo dallo standard output:
$ unexpand
Per impostazione predefinita, il comando Unexpand converte solo gli spazi vuoti iniziali. Se vuoi convertire tutti gli spazi vuoti, invece dei soli spazi iniziali, usa -a bandiera:
$ unexpand -a ostechnix.txt
Per convertire solo sequenze iniziali di spazi vuoti (tieni presente che ha la precedenza su -a ):
$ unexpand --first-only ostechnix.txt
Disponi le schede a un certo numero di caratteri a parte, non 8 (abilita -a ):
$ unexpand -t 5 ostechnix.txt
Allo stesso modo, possiamo menzionare più tabulazioni con virgole separate come di seguito.
$ unexpand -t 5,10,15 ostechnix.txt
Oppure,
$ unexpand -t "5 10 15" ostechnix.txt
Per maggiori dettagli, fare riferimento alle pagine man.
$ man unexpand
Lettura consigliata:
- Esercitazione sul comando piega con esempi per principianti
Quando si lavora su un numero elevato di file, i comandi Espandi e Annulla espansione potrebbero essere molto utili per sostituire i caratteri TAB indesiderati con i caratteri SPAZIO e viceversa.