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

Shell et commandes POSIX Discussion :

Convertir Dos en Unix


Sujet :

Shell et commandes POSIX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2012
    Messages : 42
    Par défaut Convertir Dos en Unix
    Bonjour à Tous

    En shell je souhaite convertir des fichiers Dos en Unix.
    Avant tout je vérifie si le fichier est au format Unix
    S'il est au format unix je ne fais rien, sinon je le convertie en Unix.

    Qui a une solution à me proposer ?

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Bonjour.

    Il existe le programme en ligne de commande dos2unix qui fait ça très simplement. A voir s'il existe pour ton OS et l'installer si besoin.

    Si en plus tu doit tester le contenu du fichier avant de lancer cette commande, je pense que tu sera perdant en perf (sinon à coup de grep ça devrait être faisable).

    Cordialement,
    Idriss

  3. #3
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    ou avec sed

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/^M//g' fichier > fichierresultat
    le ^M est obtenu en tapant CTRL+V puis ENTER

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    A choisir entre le sed et le dos2unix, il vaut mieux prendre le dos2unix, car selon le besoin, la suppression du ^M ne suffit pas, on peut ausi avoir besoin de convertir la locale du fichier.
    De plus, pour être propre en sed, même si le cas est très très rare, il ne faudrait supprimer que le ^M en fin de ligne

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2012
    Messages : 42
    Par défaut
    Merci à tous
    J'ai testé avec le code ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dos2unix  $FichierA > $FichierB
    Mais j'ai toutes les lignes du FichierA qui s'affichent directement sur la console.
    En plus de ça le script reste bloquée avec cette commande.
    Je voudrais savoir s'il faut exécuter cette commande avec des options particulières.

    PS: J'ai exactement le même problème avec la commande sed

    Merci d'avance

  6. #6
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    Je ne vois qu'une possibilité, ta variable $FichierA n'existe pas.

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

Discussions similaires

  1. Commande pour convertir un fichier DOS en UniX
    Par doudou8mc dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 11/06/2015, 16h19
  2. [Batch] Convertir fichier csv unix en dos
    Par faulk dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 21/07/2010, 10h51
  3. [Eclipse 3.0.1] Convertir des sources Dos en Unix
    Par Bicnic dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 22/09/2009, 16h38
  4. [Shell] Convertir format DOS vers Unix
    Par Neuromancien2 dans le forum Linux
    Réponses: 1
    Dernier message: 08/02/2008, 18h07
  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