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 :

comment supprimer EOF d'un fichier


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut comment supprimer EOF d'un fichier
    Bonjour,
    comment supprimer les 2 dernier caratéres (chr(13) et chr(10)) d'un fichier,
    sachant que le fichier est crée sous unix et convertir en format DOS avec la fonction unix2dos
    Merci d'avance,
    Cordialement.

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Décembre 2012
    Messages : 43
    Points : 91
    Points
    91
    Par défaut
    par exemple avec une uniligne perl

    perl -pi.bak -e 's/\r\n//g' my_file.txt
    Saaaaluuut Nounou!!

  3. #3
    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 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    J'ai l'impression que le problème est mal posé.

    En principe, les fichier générés sous Unix n'ont qu'un seul caractère en fin de ligne, pas 2. Et sous DOS, ils en ont deux.

    En principe toujours, la commande suivante convertit un fichier Unix au format DOS:

    perl -pi -e 's/\n/\r\n/g' file.txt

    Mais unix2dos fait essentiellement la même chose (et j'ai vu au moins un système où la commande unix2dos était un alias pour la commande ci-dessus ou une variation très proche).

    Je pense qu'il faut que tu analyses un peu plus la structure de tes fins de lignes.

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Jiheme44 Voir le message
    par exemple avec une uniligne perl

    perl -pi.bak -e 's/\r\n//g' my_file.txt
    Merci pour la réponse mais ....

    Pour bien expliquer mon problème je vais cité un exemple :
    mon fichier : file.txt contient "Bonjour"
    en hexa : 426f 6e6a 6f75 720d 0a

    Lorsque j’exécute la commande perl, j'obtient
    en hexa : 426f 6e6a 6f75 720a

    je veux supprimer complètement "x0a" ou la remplacer par un espace


    Si mon fichier contient un saut de ligne, je ne veux pas supprimer ce retour chariot
    exemple :

    Bonjour,
    et merci


    en hexa : 426f 6e6a 6f75 720d 0a65 7420 6d65 7263
    690d 0a
    résultat attendu:
    en hexa : 426f 6e6a 6f75 720d 0a65 7420 6d65 7263
    6920

  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 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Je répète ce que j'ai dit, ton problème semble mal posé. D'après ton message d'origine, tu désires en définitive mettre ton fichier au format DOS.

    Si les fins de lignes contiennent VRAIMENT "0D 0A" (en hex.) en fin de ligne, alors cela veut dire que ton fichier est déjà au format DOS. La chaîne 'x0Dx0A' est le retour à la ligne DOS (alors que le retour à la ligne UNix ne contient que x0A). Tu n'as donc rien à faire. Le fichier est déjà au bon format.

    Si tu le transfères de la plateforme Unix vers la plateforme DOS par FTP, contente-toi de faire un transfert en mode binaire, afin que le FTP n'ajoute encore un caractère supplémentaire.

  6. #6
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci pour votre aide,
    Par obligation, j'ai changer l'outil et mon est bien résolu

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

Discussions similaires

  1. Comment supprimer BDR association de fichiers ?
    Par Ehjoe dans le forum Windows Vista
    Réponses: 4
    Dernier message: 20/08/2011, 21h55
  2. [VB.NET] Comment supprimer un fichier qui est utilisé ?
    Par Toon94 dans le forum Windows Forms
    Réponses: 12
    Dernier message: 13/06/2010, 12h59
  3. Comment supprimer un ensemble de fichiers ?
    Par jmjmjm dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 05/12/2007, 16h07
  4. Comment supprimer des fichiers en nombre ?
    Par Didier L dans le forum API, COM et SDKs
    Réponses: 13
    Dernier message: 25/01/2005, 16h01
  5. Réponses: 4
    Dernier message: 24/09/2004, 10h17

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