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 multiple de metacaractère


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 68
    Par défaut Remplacement multiple de metacaractère
    Bonjour,

    voilà j'ai une liste de pseudo du style :

    ! UFk_Skynet..
    #SaS# captainmooren
    $AC@|FOuTRE^^
    (AUT) KaizerSozey
    **LdaG Prof.Frings_|nF
    *ANPE* bourichon.fr
    *Fr_ bart193
    *FtS* Don-Jay-R

    je voudrais faire un grep de ces pseudos dans un autre fichier pour voir s'ils existent.

    Le problème est ceratins caractères feront planter le grep : []-/\....

    la solution que j'ai trouvé est de faire un sed sur l'ensemble de mon fichier et de faire précéder chacun de ses caractère par "\". Ca fonctionne.

    Ce que j'aimerais savoir c'est si il y a un moyen simple de les remplacer car actuellement je fais une commande du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e 's/\[\\[/g' -e 's/\]/\\]/g' fic
    merci d'avance à vous

  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
    La commande sed est très bien dans ces cas là.

    Qu'est ce que tu ne trouves pas simple dans cette utilisation de sed ?

    Si ton problème est de devoir retaper cette commande sed chaque fois que tu en as besoin, il suffit de placer toutes les substitutions de caractères possibles qui nécessitent d'être bloquer par un antislash dans un script.
    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
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    fgrep ou grep -F fonctionne.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 68
    Par défaut
    si le sed me convient mais le grep aussi.

    Ma démarche est de tester si chaque pseudo de mon fichier1 est dans la liste de mon fichier_de_reference.

    pour info je teste ça sous cygwin

    mais j'ai encore des erreur avec le grep -F :

    grep: unknown option -- ---diger---29
    Usage: grep [OPTION]... PATTERN [FILE]...
    Try `grep --help' for more information.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    et grep --help ne fait pas mention de "fixed-strings" ?
    que retourne grep -V ?

    Je ne connais pas du tout cygwin, désolé.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 68
    Par défaut
    en fait le -V correspond à la version de grep, et le -F correspond au fixed strings.

    je viens de comprendre mon souci :

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

Discussions similaires

  1. Remplacement multiples avec sed ?
    Par K2R400 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 15/01/2010, 14h54
  2. [RegEx] Remplacement multiple dans une chaîne
    Par MatthieuL dans le forum Langage
    Réponses: 1
    Dernier message: 01/03/2009, 15h44
  3. [RegEx] Remplacement multiple
    Par beyo dans le forum Langage
    Réponses: 3
    Dernier message: 14/12/2008, 18h13
  4. Remplacement multiple de chaines dans un fichier
    Par keouine dans le forum Langage
    Réponses: 2
    Dernier message: 16/11/2008, 16h47
  5. recherche et remplacement multiples
    Par gdi73 dans le forum Requêtes et SQL.
    Réponses: 24
    Dernier message: 19/06/2007, 12h01

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