IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

conversion retour chariot UNIX > DOS - DOS > UNIX


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 330
    Points : 93
    Points
    93
    Par défaut conversion retour chariot UNIX > DOS - DOS > UNIX
    Bonjour,

    je souhaite créer un script qui permet de convertir les retours chariots unix et dos.

    j'ai réalisé un premier script qui fonctionne correctement et qui permet de convertir les retours chariots UNIX en DOS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    #!/usr/bin/perl
    ###conversion retour chariot UNIX (LF) en  DOS (CRLF)
    ###lecture et ecriture des fichiers en UTF8 
     
     
    open IN, "<:encoding(UTF-8)",     "$ARGV[0]";
    open OUT, ">:encoding(UTF-8)",     "testOutDos.txt";
     
    $/=undef;
     
     
    while($ligne =  <IN>)
     
    {
    s/\n/\r/g;###conversion retour chariot unix en DOS
    print OUT $ligne;
     
    }
     
    close;
    le second script devrait convertir les retours chariots DOS en UNIX mais il ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    #!/usr/bin/perl
    ###conversion retour chariot DOS (CRLF) en UNIX (LF)
    ###lecture et ecriture des fichiers en UTF8 
     
     
    open IN, "<:encoding(UTF-8)",     "$ARGV[0]";
    open OUT, ">:encoding(UTF-8)",     "testOutUnix.txt";
     
    #$/=undef;
     
     
    while($ligne =  <IN>)
     
    {
     
    s/\r/\n/g;###conversion retour chariot DOS en UNIX
    print OUT $ligne;
     
    }
     
    close;
    typiquement \n est traduit par LF
    et \r par CR

    dans la pratique mon premier script fonctionne mais le second non.

    si vous avez une idée merci.

  2. #2
    Rédactrice

    Avatar de stoyak
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 408
    Points : 1 491
    Points
    1 491
    Par défaut
    http://perl.developpez.com/sources/?...ChariotFichier

    \r\n => \n pour Windows vers *n*x
    \n => \r\n pour *n*x vers Windows

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment changer le CR ( le retour chariot) qui est en DOS, en UNIX?
    Par amateur_will dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 03/04/2014, 16h34
  2. Conversion retour chariot sur un flux
    Par exover dans le forum Linux
    Réponses: 3
    Dernier message: 19/05/2008, 17h12
  3. Probleme de retour chariot sous dos
    Par celcy dans le forum Windows
    Réponses: 6
    Dernier message: 19/02/2007, 09h59
  4. Réponses: 13
    Dernier message: 20/12/2004, 19h28
  5. [langage] fichier DOS et unix, retour chariot Mac unix
    Par Kinethe dans le forum Langage
    Réponses: 5
    Dernier message: 25/10/2004, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo