EOL: Comment convertir un fichier texte de type DOS en UNIX et vice versa

Sélectionnez DOS, menu de l'éditeur de texte Unix

Avec ce simple tutoriel, nous résolvons un petit incident qui vous sera sûrement arrivé. Plusieurs fois, il nous sera arrivé que lors de l'ouverture d'un fichier .txt sous Linux ou Windows, le texte soit modifié par rapport à la façon dont nous l'avions édité au début. Ce qui se passe, c'est que les lignes nous ont rejoint et les espaces n'apparaissent pas. Cela est dû au fait que le format de fichier texte de type UNIX diffère du type DOS en termes de caractère de fin de ligne (EOL) qu'ils emploient.

Pour les systèmes UNIX, le caractère est un "saut de ligne / nouvelle ligne" ou LF et cela correspond à \ n, si vous programmez, cela vous fera entendre. Alors que sous Windows, le système utilisé dans l'ancien DOS est hérité, c'est-à-dire un "retour chariot" suivi d'un "saut de ligne / nouvelle ligne" (\ r \ n). Si, par exemple, nous avons édité le fichier sous Linux et que nous l'ouvrons avec Windows (et que le format dans lequel nous l'avons enregistré n'est pas approprié), alors il y aura l'heureux problème d'avoir tout le texte collé sans espace ou sauts de ligne.

Sous Linux, il est facile de convertir d'un format à un autre sans rien installer sur notre système, utilisez simplement ces commandes:

  • DE DOS À UNIX:

Nous utiliserons la commande tr, suivi du paramètre -d et du caractère EOL approprié. Nous utiliserons également les fameux "tubes" pour opérer avec le fichier texte DOS ("filename") et celui que nous voulons générer converti au format UNIX ("filename"). Bien sûr, nous devons d'abord utiliser la commande cd pour aller dans le dossier où se trouve le fichier à convertir ou depuis l'interface graphique passer le fichier à / Home (par défaut où se trouve l'invite):

tr -d '\n' < nombre_archivo > nombre_fichero</p>
  • D'UNIX À DEUX:

Maintenant, nous allons utiliser la commande sed pour transformer un fichier Unix en un type DOS. Pour cela, nous utiliserons la syntaxe suivante, en remplaçant le nom des fichiers par le fichier à convertir. Je veux apporter une clarification, chaque fois que j'écris un fichier, je veux dire du type Unix et quand je mets un fichier de type Windows / DOS.

sed 's/$/\r/' nombre_fichero > nombre_archivo</p>

Quoi qu'il en soit, dans les éditeurs de texte modernes, cela nous donne déjà la possibilité de "Garder comme«Dans le format que nous voulons sans avoir à le faire depuis le terminal. Mais il est toujours bon d'en savoir plus sur la ligne de commande Linux. Une autre option consiste à utiliser deux outils conçus à cet effet, dos2unix et unix2dos, mais dans de nombreuses distributions, ils ne sont pas installés par défaut et doivent être installés ...


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   blabla1233445 dit

    La déclaration correcte est
    tr -d 'r' nom de fichier