Comment réparer les sauts de ligne dans les fichiers texte à l’aide de Dos2Unix et Unix2Dos

Avez-vous déjà envoyé un fichier texte créé sur un système Linux à quelqu'un et lui faire se plaindre qu'il ne paraissait pas bien sous macOS ou Windows? Cela peut être dû au fait que ces systèmes gèrent différemment les fins de ligne. Heureusement, cela est facile à résoudre avec quelques utilitaires: Dos2Unix et Unix2Dos.

Quel est le problème avec les fins de ligne?

Une différence entre Windows et Linux qui pourrait rendre l'échange de fichiers difficile est la façon dont ils comptent les fins de ligne. Cela remonte à l'époque où les ordinateurs utilisaient des téléscripteurs pour l'entrée et la sortie, qui étaient en fait des machines à écrire automatiques.

Une nouvelle ligne, également appelée saut de ligne, fait avancer le papier d'une ligne et le retour chariot se déplace au début de la ligne. Les interfaces de ligne de commande portaient sur cette convention d'interprétation des nouvelles lignes.

Windows a hérité de la convention MS-DOS de compter une nouvelle ligne et un retour chariot comme une ligne, tandis que Linux, à son tour, portait la tradition Unix de ne compter que les nouvelles lignes comme, enfin, les nouvelles lignes.

La plupart du temps, les éditeurs de texte sont suffisamment intelligents pour pouvoir détecter les fichiers créés sur différents systèmes et ajuster l'affichage en conséquence, mais vous pouvez toujours rencontrer des problèmes de temps en temps. Vous pouvez essayer d'exécuter un script et l'interpréteur peut générer une erreur car il s'attend à ce que les lignes se terminent différemment.

Utilisation de Dos2Unix et Unix2Dos

Heureusement, il existe quelques utilitaires qui vous permettent de convertir les fins de ligne dans des fichiers entre les formats. Ils s'appellent Dos2Unix et Unix2Dos .

Bien que ces utilitaires soient courants sur de nombreuses installations Linux, s'ils ne sont pas installés sur votre système, vous pouvez les télécharger à l'aide du gestionnaire de packages par défaut.

Pour convertir un fichier créé sur un système Windows vers Linux, utilisez dos2unix :

 dos2unix file

… où fichier est le nom du fichier que vous souhaitez convertir. Ce programme convertira le fichier des nouvelles lignes DOS en lignes Unix en place, comme son nom l'indique. Si vous souhaitez convertir une copie du fichier, utilisez l'option -n :

 dos2unix -n file1 file2

… où fichier1 et fichier2 sont les noms du fichier d'origine et du fichier de sortie . La commande unix2dos fonctionne de la même manière et prend les mêmes arguments.

Une autre option consiste à utiliser un éditeur de texte sous Linux ou Windows pour convertir les fichiers, car ils peuvent également détecter et modifier le comportement de fin de ligne.

En relation: Unix vs Linux: les différences et pourquoi c'est important

Maintenant, vos fichiers texte ont l'air parfait sur n'importe quel système

Avec cette paire d'utilitaires, vous pouvez vous assurer que tout fichier texte fonctionnera sous Windows ou Linux. La correction des nouvelles lignes est maintenant plus facile que jamais avec dos2unix et unix2dos.

Dans le monde réel, les utilisateurs Linux et Windows ont souvent besoin de partager des fichiers. Heureusement, il est très facile de le faire de nos jours.