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 :

Remplacement de caractères accentués


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 105
    Points : 81
    Points
    81
    Par défaut Remplacement de caractères accentués
    Bonjour,
    Je cherche à remplacer tous les caractères accentués se trouvant dans des fichier java par des espaces, j'ai développé ce bout de code, mais apparemment ça ne marche pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for file in $(find monRepertoire f -name "*.java") 
    do
        x=$(egrep -o "[àáâãäåæÀÁÂÄÆÅÃçÇÈÉÊËèéêëÙÚÛÜùúûüÌÍÎÏìíîïÒÓÔÕÖòóôõöÑñÝý]" $file)
        echo $x
        sed -e "s/$x//g" $file
    done
    Pouvez-vous me donner un coup de main.
    Merci

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 553
    Points : 19 392
    Points
    19 392
    Par défaut
    mais, ça ne marche pas comment ?
    tu obtiens des messages d'erreurs ?
    ça fait quoi, et tu voulais quoi ?
    quel shell ?
    ...
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 105
    Points : 81
    Points
    81
    Par défaut
    J'ai des classes Java dans lesquels les développeurs ont laissé des commentaire en français, ces derniers posent problème à cause des caractère accentués, je voulais développer un script qui cherche dans toutes les classes java les caractères accentué et les remplace par une chaine vide.
    exemple : démarrage ---> dmarrage

    Merci

  4. #4
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Il y a des sous-répertoire dans ton "monRepertoire" ?

    Si non, un simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -s -i 's/[àáâãäåæÀÁÂÄÆÅÃçÇÈÉÊËèéêëÙÚÛÜùúûüÌÍÎÏìíîïÒÓÔÕÖòóôõöÑñÝý]//g' *.java
    Devrait faire l'affaire...

    A tester sans le paramètre "-i" d'abord
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 105
    Points : 81
    Points
    81
    Par défaut
    Merci pour ta réponse zipe31,
    Oui il y a des sous répertoires en modifiant le script comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for file in $(find monRepertoire -type f -name "*.java") 
    do
    	sed -s -i 's/[àáâãäåæÀÁÂÄÆÅÃçÇÈÉÊËèéêëÙÚÛÜùúûüÌÍÎÏìíîïÒÓÔÕÖòóôõöÑñÝý]//g' $file
    done
    il m'affiche des erreurs :
    sed: couldn't edit monRepertoire/rep1/rep2/rep3: not a regular file

    et :
    sed: can't read monRepertoire/rep1/rep2/rep3/Constant.java: No such file or directory

    Merci

  6. #6
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Et comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find test_m_25.4_VSC_25.4 -type f -name "*.java" -exec sed -i.bak 's/[àáâãäåæÀÁÂÄÆÅÃçÇÈÉÊËèéêëÙÚÛÜùúûüÌÍÎÏìíîïÒÓÔÕÖòóôõöÑñÝý]//g' {} \;
    $ man woman
    Il n'y a pas de page de manuel pour woman.

Discussions similaires

  1. [Silverlight 2] Remplacer des caractères accentués
    Par Spaeda dans le forum Silverlight
    Réponses: 9
    Dernier message: 04/11/2009, 13h16
  2. Réponses: 3
    Dernier message: 25/02/2009, 15h59
  3. Remplacer les caractères accentués dans une chaine
    Par shaun_the_sheep dans le forum Général Java
    Réponses: 5
    Dernier message: 07/05/2008, 10h41
  4. Remplacer certains caractères (accentués) par d'autre
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 24/07/2007, 13h05
  5. Probleme de remplacement de caractère accentués
    Par guian dans le forum Langage
    Réponses: 1
    Dernier message: 01/06/2007, 15h06

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