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

Linux Discussion :

Problème de Sed


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 30
    Points : 28
    Points
    28
    Par défaut Problème de Sed
    Bonjour,

    Voici un extrait du fichier que je souhaite traiter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    catalyst45506 OBJECT IDENTIFIER
    ::= { ciscoProducts 699 }
     
    catalyst45507 OBJECT IDENTIFIER
    ::= { ciscoProducts 700 }
     
    catalyst455010 OBJECT IDENTIFIER
    ::= { ciscoProducts 701 }
    Ce que je souhaite c'est supprimer les saut de ligne après "IDENTIFIER" pour obtenir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    catalyst45506 OBJECT IDENTIFIER ::= { ciscoProducts 699 }
    J'ai essayé plein de manière différente et j'ai dût mal à comprendre le sed malgré les docs.
    Voici une des façons qui ne marche pas bien évidemment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat CISCO-PRODUCTS-MIB.my | sed "s/IDENTIFIER\n//g"
    Est-ce que quelqu'un connaitrait mieux "sed" que moi et pourrait m'aider.

    Merci d'avance

    Jérémy

  2. #2
    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,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $ cat plop
    catalyst45506 OBJECT IDENTIFIER
    ::= { ciscoProducts 699 }
    
    catalyst45507 OBJECT IDENTIFIER
    ::= { ciscoProducts 700 }
    
    catalyst455010 OBJECT IDENTIFIER
    ::= { ciscoProducts 701 }
    
    $ sed '/IDENTIFIER$/{N;s/\n/ /}' plop
    catalyst45506 OBJECT IDENTIFIER ::= { ciscoProducts 699 }
    
    catalyst45507 OBJECT IDENTIFIER ::= { ciscoProducts 700 }
    
    catalyst455010 OBJECT IDENTIFIER ::= { ciscoProducts 701 }
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  3. #3
    Expert éminent sénior 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 : 47
    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
    Points : 12 264
    Points
    12 264
    Par défaut
    je venais proposer la même solution

  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
    Citation Envoyé par frp31 Voir le message
    je venais proposer la même solution
    Désolé
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    Salut,

    Merci à vous 2 pour votre aide. J'ai testé sous Fedora ça marche niquel.

    Par contre en faite j'essaye d'utiliser "Sed" sous un SunOS 5.8.
    Je sais ce n'est pas très récent mais je n'ai pas le choix, malheureusement.

    Et j'obtiens l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cat plop | sed '/IDENTIFIER$/{N;s/\n/ /}'
    sed: command garbled: /IDENTIFIER$/{N;s/\n/ /}
    Broken Pipe
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed '/IDENTIFIER$/{N;s/\n/ /}' plop
    sed: command garbled: /IDENTIFIER$/{N;s/\n/ /}
    Vous voyez comment on peut faire sous du Solaris ?

  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
    Essaie comma ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sed '/IDENTIFIER$/{
    N
    s/\n/ /
    }
    ' plop
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  7. #7
    Expert éminent sénior 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 : 47
    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
    Points : 12 264
    Points
    12 264
    Par défaut
    même cas sur OpenBSD se régle en faisant comme ça (ajout du ";" devant l'accolade fermante)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sed '/IDENTIFIER$/{N;s/\n/ /;}' plop

  8. #8
    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
    Citation Envoyé par frp31 Voir le message
    même cas sur OpenBSD se régle en faisant comme ça (ajout du ";" devant l'accolade fermante)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sed '/IDENTIFIER$/{N;s/\n/ /;}' plop
    Merci

    A essayer aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e '/IDENTIFIER$/N' -e 's/\n/ /' plop
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    Salut,

    Vraiment merci ça marche niquel sous Solaris.

    1ère solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    sed '/IDENTIFIER$/{N;s/\n/ /;}' plop
    catalyst45506 OBJECT IDENTIFIER ::= { ciscoProducts 699 }
     
    catalyst45507 OBJECT IDENTIFIER ::= { ciscoProducts 700 }
     
    catalyst455010 OBJECT IDENTIFIER ::= { ciscoProducts 701 }
    Et la 2ème solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    sed -e '/IDENTIFIER$/N' -e 's/\n/ /' plop
    catalyst45506 OBJECT IDENTIFIER ::= { ciscoProducts 699 }
     
    catalyst45507 OBJECT IDENTIFIER ::= { ciscoProducts 700 }
     
    catalyst455010 OBJECT IDENTIFIER ::= { ciscoProducts 701 }
    Encore merci .
    Vous êtes bien calé les mecs quand même !!!
    Bonne journée

  10. #10
    Expert éminent sénior 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 : 47
    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
    Points : 12 264
    Points
    12 264
    Par défaut
    oui oui avec une bonne cale en bois je tiens debout sans problème

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

Discussions similaires

  1. Problème avec SED et les caractères "/" sur Solaris
    Par supermen3000 dans le forum Solaris
    Réponses: 2
    Dernier message: 03/07/2009, 11h14
  2. Problème de sed et expression régulière
    Par Empty_body dans le forum Linux
    Réponses: 11
    Dernier message: 12/03/2009, 09h15
  3. [Shell] Problème de sed
    Par byloute dans le forum Linux
    Réponses: 3
    Dernier message: 05/02/2008, 15h25
  4. [Shell] problème avec sed et awk
    Par tizilfin dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 15/11/2007, 13h01
  5. Problème avec sed
    Par Zlika_ese dans le forum Linux
    Réponses: 1
    Dernier message: 26/05/2007, 21h39

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