ZoneO-trucs pour Mandriva Linux

Comment convertir des fichiers texte en format DOS (ou Windows) ou Mac vers Unix, et vice-verca

J'ai essayé d'ouvrir un fichier texte créé sous windows dans Mandriva mais j'ai des problèmes avec les retours à la ligne... Comment qu'on fait?!

 
 
Démarrer la Konsole
Figure 1: Démarrer la Konsole

C'est un classique! Si vous avez besoin de transférer des fichiers texte entre DOS/Windows, un Mac, ou Linux, vous allez rencontrer ce problème avec les retours à la ligne... Sous DOS, chaque ligne de texte se termine par CR/LF (ASCII 13 + ASCII 10), sous Linux, LF. Donc, si vous regardez un fichier DOS sous Linux, chaque ligne se termine avec un truc bizarre, qui ressemble à un caractère "M". Inversement, un fichier Linux sous DOS va apparaître comme infiniment long, sans retour à la ligne...

La plupart des programmes Linux savent gérer le problème automatiquement, mais il en reste quelques uns qui posent problème. Par exemple, j'ai remarqué que les programmes écrits en Fortran se plantent régulièrement.

Pareil sous windows, beaucoup de programmes savent gérer le problème. Mais il y a des exceptions, comme le notepad par exemple.

Heureusement, sous Mandriva, c'est très simple! Il suffit d'installer

unix2dos
et
dos2unix

Quand vous voulez convertir un fichier texte Windows vers Unix, ouvrez une console (Figure 1), placez-vous dans le bon dossier, et tapez

dos2unix le_fichier_que_je_veux_convertir.txt

Quand vous voulez convertir un fichier texte Unix vers Windows, ouvrez une console

unix2dos le_fichier_que_je_veux_convertir.txt

En fait, ces programmes sont très très simples, souvent une seule ligne de Perl! Donc pendant que j'y suis voici quelques exemples...

Ce script convertit les fichiers unix vers dos:

#!/usr/bin/perl -pi
s/\n/\r\n/;
Souvez-le sous unix2dos.pl, rendez-le éxécutable (chmod a+x unix2dos.pl) et vous êtes prêts.

Voici le code pour dos2unix.pl

#!/usr/bin/perl -pi
s/\r\n/\n/;

Enfin, pour ceux qui traitent avec des Macs, voici mac2unix.pl:

#!/usr/bin/perl -pi.unix
s/\r/\n/g;
et unix2mac.pl:
#!/usr/bin/perl -pi.unix
s/\n/\r/g;

Voilà, à priori, tous vos problèmes sont réglés!

10/2005
 
© ZoneO-soft - Contactez nous - Page d'accueil