Hai mai inviato a qualcuno un file di testo creato su un sistema Linux e gli hai fatto lamentare che sembrava sbagliato su macOS o Windows? Ciò può essere dovuto al fatto che questi sistemi gestiscono le terminazioni di riga in modo diverso. Fortunatamente, questo è facile da risolvere con un paio di utilità: Dos2Unix e Unix2Dos.
Qual è il problema con le terminazioni di riga?
Una differenza tra Windows e Linux che potrebbe rendere difficile lo scambio di file è il modo in cui contano le terminazioni di riga. Ciò risale ai giorni in cui i computer utilizzavano macchine telescriventi per l'input e l'output, che erano effettivamente macchine da scrivere automatiche.
Una nuova riga, chiamata anche avanzamento riga, fa avanzare la carta di una riga e il ritorno a capo si sposta all'inizio della riga. Le interfacce della riga di comando si basano su questa convenzione di interpretare le nuove righe.
Windows ereditò la convenzione MS-DOS di contare una nuova riga e un ritorno a capo come una riga, mentre Linux, a sua volta, portava avanti la tradizione Unix di contare solo le nuove righe e anche le nuove righe.
La maggior parte delle volte, gli editor di testo sono abbastanza intelligenti da essere in grado di rilevare i file creati su sistemi diversi e regolare la visualizzazione di conseguenza, ma occasionalmente potresti comunque riscontrare problemi. Potresti provare a eseguire uno script e l'interprete potrebbe generare un errore perché si aspetta che le righe finiscano in modo diverso.
Utilizzo di Dos2Unix e Unix2Dos
Fortunatamente, ci sono un paio di utilità che ti consentono di convertire le terminazioni di riga in file tra formati. si chiamano Dos2Unix e Unix2Dos.
Sebbene queste utilità siano comuni su molte installazioni Linux, se non sono installate sul tuo sistema, puoi scaricarle utilizzando il gestore di pacchetti predefinito.
Per convertire un file creato su un sistema Windows in Linux, usa dos2unix:
file dos2unix
...dove file è il nome del file che si desidera convertire. Questo programma convertirà il file dalle nuove righe DOS a quelle Unix sul posto, come suggerisce il nome. Se vuoi convertire una copia del file, usa il -n opzione:
dos2unix -n file1 file2
...dove file1 e file2 sono i nomi dei file originale e il file di uscita. Il comando unix2dos funziona allo stesso modo e accetta gli stessi argomenti.
Un'opzione alternativa è usare a editor di testo su entrambi Linux o Windows per convertire i file, poiché possono anche rilevare e modificare il comportamento di fine riga.
Relazionato: Unix contro Linux: le differenze tra e perché è importante
Ora i tuoi file di testo stanno bene su qualsiasi sistema
Con questa coppia di utilità, puoi assicurarti che qualsiasi file di testo funzioni su Windows o Linux. Correggere le nuove righe ora è più facile che mai con dos2unix e unix2dos.
Nel mondo reale, gli utenti Linux e gli utenti Windows hanno spesso bisogno di condividere file. Fortunatamente, è molto facile farlo in questi giorni.
Stai passando da Windows a Linux e hai bisogno di copiare i dati? Usa questi trucchi per trasferire o condividere file da Windows a Linux.
Leggi Avanti
- Linux
- MS-DOS
- Unix

David è uno scrittore freelance con sede nel nord-ovest del Pacifico, ma originario della Bay Area. Appassionato di tecnologia fin dall'infanzia. Gli interessi di David includono la lettura, la visione di programmi TV e film di qualità, i giochi retrò e il collezionismo di dischi.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Ancora un passo…!
Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.