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 GNU Discussion :

diff sur deux fichiers encodés latin1 et UTF-8


Sujet :

Shell et commandes GNU

  1. #1
    Membre expérimenté
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 248
    Par défaut diff sur deux fichiers encodés latin1 et UTF-8
    Bonjour,

    je dois changer l'encoding sur de nombreux fichiers.

    J'utilise iconv pour faire le travail

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -iconv -f latin1 -t UTF-8 <nom du fichier>
    Les fichiers sont lus d'un SVN puis commités à nouveau dans le svn.

    Pour vérifier que tout s'est bien passé je passe la commande svn diff sur tous les fichiers modifiés.

    La commande svn diff me permet de savoir ce qui a été supprimé et ajouté en parsant la sortie de svn diff, je créé deux fichiers avant.txt et apres.txt. Ces deux fichiers ne contiennent que les lignes qui ont changés.

    La dernière étape qui me reste a faire c'est de vérifier qu'il n'y a pas de changement entre avant et après.

    Là je sens que tout le monde sursaute

    Il y a bien sur une différence binaire car le fichier avant.txt est encodé en latin1 et le fichier après est encodé en UTF-8

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    moi@moi-laptop:~/6.2$ file -i avant.txt 
    avant.txt: text/x-java; charset=iso-8859-1
    moi@moi-laptop:~/6.2$ file -i apres.txt 
    apres.txt: text/x-java; charset=utf-8
    moi@moi-laptop:~/6.2$
    Par contre en affichage il ne doit pas y en avoir. Un é (en latin1) ou en UTF-8 doit s'afficher comme un é.

    vimdiff me permet d'avoir un affichage car vim tient compte de l'encodage et il présente bien les deux fichiers sans aucune différence.

    Mon problème c'est que je voudrais scripter vi ou vim ou tout autre chose (script shell) qui me permette de détecter que au niveau affichage il n'y a aucune différence.

    Je ne vois pas par quel bout attaquer le problème ?

  2. #2
    Membre éprouvé Avatar de exodev
    Inscrit en
    Septembre 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Septembre 2009
    Messages : 201
    Par défaut
    Hello,

    Une première solution pourrait être de reparser le fichier UTF-8 en latin1 et vérifier que le fichier d'origine est identique à celui parsé 2 fois.

  3. #3
    Membre expérimenté
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 248
    Par défaut
    oui effectivement ca peut être une solution... merci

Discussions similaires

  1. programme basé sur deux fichiers - gfortran
    Par oodbae_adriano dans le forum Fortran
    Réponses: 2
    Dernier message: 11/10/2012, 23h59
  2. [XL-2007] Comparer 2 colonnes sur deux fichiers
    Par Vishnou dans le forum Excel
    Réponses: 3
    Dernier message: 08/04/2010, 00h44
  3. Réponses: 12
    Dernier message: 30/06/2008, 20h56
  4. programme sur deux fichiers
    Par magikk dans le forum Langage
    Réponses: 3
    Dernier message: 20/02/2008, 18h41
  5. une liste ou requête basée sur deux fichiers
    Par chapeau_melon dans le forum WinDev
    Réponses: 8
    Dernier message: 12/11/2007, 20h00

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