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 :

Suppression espace et caractère spéciaux dans une chaine de caractère


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut Suppression espace et caractère spéciaux dans une chaine de caractère
    salut,

    Je possede un fichier .txt qui comporte de nombreux espace et caractère spéciaux.

    Enfaite je voudrai via une commande shell supprimer les caractères spéciaux (| / = ^ ...) et remplacer les suites d'espace par un seul espace.

    J'ai commencer a chercher en utilisant les commandes sed et strings mais je n'y arrive pas.

    Un coup de main serai le bienvenue

  2. #2
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut
    J'ai reussi a trouver pour suprimer les espace est les remplacer pas un espace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/  /^?/g' fichier.txt
    Maintenant je chercher comment supprimer les caratères spéciaux !!

    Si vous pouriez me donner un coup de main.

  3. #3
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    tr peut être une alternative plus facile à mettre en oeuvre. Mais tu risques d'avoir besoin de plusieurs passes.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  4. #4
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut
    C'est ce que j'ai utilisé ma ligne commande est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/  /^?/g' fichier.txt | tr '|^\'/\\$=<>.;:_()[]{}!*\n\t\b' '^?'
    si quelqu'un a plus simple je suis preneur !!

  5. #5
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Pourquoi "^?" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    < fichier.txt tr -s ' ' | tr -d '|/=<>...'

  6. #6
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut
    Pourquoi "^?" ?
    ^? corespond au code renvoyer par linux pour faire un backspace !

    j'aurai aussi pus remplacer ^? par rien

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

Discussions similaires

  1. Remplacer des caractères spéciaux dans une chaine
    Par enzostar dans le forum Langage
    Réponses: 5
    Dernier message: 29/09/2012, 23h16
  2. Remplacer caractères spéciaux dans une chaine
    Par Peyothe dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/08/2009, 13h32
  3. Réponses: 7
    Dernier message: 20/04/2007, 16h42
  4. Modifier une chaine de caractères lue dans une DB
    Par shinryu69 dans le forum Langage
    Réponses: 4
    Dernier message: 31/10/2006, 13h40
  5. [RegEx] caractère spéciaux dans une chaine
    Par BigBarbare dans le forum Langage
    Réponses: 3
    Dernier message: 12/04/2006, 11h53

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