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

Contribuez Discussion :

Comment convertir des fichiers texte Windows vers Unix [FAQ]


Sujet :

Contribuez

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Par défaut Comment convertir des fichiers texte Windows vers Unix
    Bonjour,

    C'est une proposition d'ajout à la FAQ:

    Windows et Unix ont des caractères de fin de ligne différents. En cas d'import de fichiers texte (y compris des scripts bash par exemple), il faut les convertir au format Unix sans quoi l'interprêteur (/bin/sh ou /bin/bash par exemple) ne pourra pas les exécuter :

    Le fichier au format Windows non converti au format Unix fera apparaitre des caractères ^M (ASCII=\x0D$)si vous l'ouvrez dans un éditeur (vi, vim, nano, gedit, ..). Il faut donc convertir les fichiers vers le format UNIX de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /chemin/vers/mon/repertoire/de/fichiersWindoz/ -type f -exec sed -i -e "s/\r$//" {} \;
    Vérification que les caractères de fin de ligne ont bien été converti :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat -Ev <mon_fichier_converti_au_format_UNIX>
    ou plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat -e <mon_fichier_converti_au_format_UNIX>
    Note 1: cela n'est a priori pas nécessaire si vous copiez/collez un code écrit sous Windows dans un éditeur Linux. La conversion se fait à la volée par l'éditeur dans le cas de gedit par exemple. Par contre, il faut convertir les formats pour des fichiers transférés par copie de fichiers.

    EDIT:
    Note2: Il existe aussi le paquet dos2unix sur les principales distributions, mais ça impose d'ajouter un paquet supplémentaire, pas forcément utile sur une machine vouée à la production par exemple.

  2. #2
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Par défaut
    Sinon, il existe l'outil dos2unix, contenu dans le package tofrodos sous Debian et Debian-Like.

    Prenons le fichier foo.txt avec les fameux ^M en fin de ligne.
    Pour le convertir au format linux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dos2unix foo.txt bar.txt
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  3. #3
    Membre chevronné
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Par défaut
    Merci.
    Oui mais tout le monde n'a pas Debian/Ubuntu. Mais je peux effectivement l'ajouter en commentaire.

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Bonjour,

    sed -ie signifie qu'une sauvegarde nommée fichiere sera créée !
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre chevronné
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Par défaut
    merci, tipo corrigée

  6. #6
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Par défaut
    - Avec awk :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '{ sub("\r$", ""); print }' $1 > $2
    - Avec tr :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat $1 | tr -d '\r' >$2
    - Avec perl :
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/03/2010, 13h11
  2. Convertir des fichiers de windows-1252 en UTF-8
    Par Baptiste Wicht dans le forum Windows
    Réponses: 3
    Dernier message: 21/10/2009, 14h46
  3. Réponses: 1
    Dernier message: 24/12/2007, 18h21
  4. Réponses: 5
    Dernier message: 04/12/2007, 13h40
  5. Comment comparer des fichiers sur Windows?
    Par programmerPhil dans le forum Autres Logiciels
    Réponses: 9
    Dernier message: 22/02/2006, 20h47

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