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 :

Perl MAC et Windows


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Perl MAC et Windows
    Bonjour à tous,

    Je viens vous demander un petit coup de main,

    J'ai un fichier CSV remplit de retour chariot et je veux créer un nouveau CSV sans ces retours chariot, pour cela j'utilise une commande Perl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pe 's/\n/ /g' Chemin fichier 1 > Chemin fichier 2
    Sous Mac cette commande marche super bien, mais sous Windows même en l’adaptant je n'arrive pas au même résultat ...

    Commande Windows :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pe "s/\n/ /g" Chemin fichier 1 > Chemin fichier 2
    (Guillemet à la place des quotes)

    Avez-vous une solution pour adapter cette commande sous Windows ?

    Merci à tous !

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 469
    Points
    12 469
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    Sous Windows, les retours à la ligne comprennent deux caractères (retour chariot + saut de ligne) au lieu d'un seul sous Unix et (les versions récentes de) Mac.

    Essaie ceci:

    perl -pe "s/[\r\n]+/ /g" Chemin fichier 1 > Chemin fichier 2

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Bonjour Lolo78,

    merci de ton aide j'ai testé ton idée mais j'ai un message d'erreur : Substitution replacement not terminated at -e line 1

    djibril j'ai regardé ton lien j'ai testé quelques trucs mais aucun résultat comme sous mac ...

  5. #5
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 469
    Points
    12 469
    Billets dans le blog
    1
    Par défaut
    A priori, tu as du mal copier mon code (oublié un caractère). Je le remets entre balises:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     perl -pe "s/[\r\n]+/ /g" fic1 > fic2
    Et je viens de ressayer, mon code compile sans erreur.

    Si ça ne marche toujours pas, poste la commande exacte que tu fais.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Bonjour Lolo78,

    Le code compile sans erreur mais je n'obtiens toujours pas le même résultat ..

    Sous Mac :

    Nom : test.jpg
Affichages : 80
Taille : 137,0 Ko


    Sous Windows :

    Nom : Capture d’écran 2015-11-02 à 11.18.14.jpg
Affichages : 80
Taille : 233,8 Ko

    On voit bien la différence sur les captures d'écran les retours charriots sont annulés mais sous Mac la ligne Cadillac est renvoyé à la ligne alors que sous Windows non :s

    Je vois pas pourquoi cette différence ...

    Merci de ton aide !

  7. #7
    Membre confirmé
    Avatar de cmcmc
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 316
    Points : 641
    Points
    641
    Par défaut
    Ca devrait être équivalent mais essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Taisha:~/perl/forum $ perl -e 'while (<>) {s/[\r\n]+/ /g; print}' fic1 > fic2
    Taisha:~/perl/forum $
    testé (sur windows seulement...) avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Taisha:~/perl/forum $ perl -e 'print "a\rb\nc\r\nd"' > fic1
    Taisha:~/perl/forum $ perl -e 'while (<>) {s/[\r\n]+/ /g; print}' fic1 > fic2
    Taisha:~/perl/forum $ cat fic2
    a b c dTaisha:~/perl/forum $
    Sauf indication contraire tous les codes que je présente sont utilisables et testés (mais sans garantie d'aucune sorte)
    J'apporte beaucoup de soin à la rédaction de mes posts et apprécie les retours donc merci de s'il vous paraissent pertinents ou utiles
    Lazyness, Impatience and Hubris are good for you

  8. #8
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 469
    Points
    12 469
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    peux-tu mettre en pièce attachée tes trois fichiers, un avant et les deux après le traitement sous Mac et sous Windows? Un copier-coller de l'affichage à l'écran ne permet en aucun cas de se rendre compte du contenu réel du fichier (surtout si l'affichage n'est pas fait avec le même logiciel, comme c'est sans doute le cas).

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Je vais tester la technique de cmcmc

    Pour Lolo78 voici les fichiers :

    Fichiers

    Fichier 1 : brut avec les retours charriots
    Fichier Mac : fichier de sortie après la commande Mac
    Fichier Windows = Fichier de sortie après la commande Windows

    Merci !

Discussions similaires

  1. Macs With Windows
    Par ArHacKnIdE dans le forum Apple
    Réponses: 29
    Dernier message: 26/01/2007, 20h30
  2. Détection Mac et Windows 98
    Par MABB dans le forum C++
    Réponses: 16
    Dernier message: 11/10/2006, 14h58
  3. voir si un programme en perl marche sous windows
    Par delaune dans le forum Langage
    Réponses: 3
    Dernier message: 22/11/2005, 17h43
  4. Réponses: 3
    Dernier message: 01/06/2004, 09h44
  5. trouver l'adresse MAC sous Windows 95
    Par seiryujay dans le forum Développement
    Réponses: 4
    Dernier message: 03/05/2004, 13h20

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