Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/07/2011, 16h54   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 30
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 30
Points : 10
Points : 10
Envoyer un message via MSN à jejeb
Par défaut Problème de Sed

Bonjour,

Voici un extrait du fichier que je souhaite traiter :
Code :
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 :
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 :
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
jejeb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/07/2011, 17h08   #2
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Code :
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.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/07/2011, 17h11   #3
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 536
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
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 : 3 536
Points : 7 749
Points : 7 749
je venais proposer la même solution
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 17h19   #4
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
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.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/07/2011, 17h29   #5
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 30
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 30
Points : 10
Points : 10
Envoyer un message via MSN à jejeb
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 :
1
2
3
cat plop | sed '/IDENTIFIER$/{N;s/\n/ /}'
sed: command garbled: /IDENTIFIER$/{N;s/\n/ /}
Broken Pipe
ou
Code :
1
2
sed '/IDENTIFIER$/{N;s/\n/ /}' plop
sed: command garbled: /IDENTIFIER$/{N;s/\n/ /}
Vous voyez comment on peut faire sous du Solaris ?
jejeb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/07/2011, 17h46   #6
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Essaie comma ça :

Code :
1
2
3
4
5
sed '/IDENTIFIER$/{
N
s/\n/ /
}
' plop
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 06h14   #7
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 536
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
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 : 3 536
Points : 7 749
Points : 7 749
même cas sur OpenBSD se régle en faisant comme ça (ajout du ";" devant l'accolade fermante)
Code :
1
2
 
sed '/IDENTIFIER$/{N;s/\n/ /;}' plop
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 09h35   #8
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
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 :
1
2
 
sed '/IDENTIFIER$/{N;s/\n/ /;}' plop
Merci

A essayer aussi :

Code :
sed -e '/IDENTIFIER$/N' -e 's/\n/ /' plop
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 11h52   #9
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 30
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 30
Points : 10
Points : 10
Envoyer un message via MSN à jejeb
Salut,

Vraiment merci ça marche niquel sous Solaris.

1ère solution:
Code :
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 :
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
jejeb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 14h13   #10
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 536
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
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 : 3 536
Points : 7 749
Points : 7 749
oui oui avec une bonne cale en bois je tiens debout sans problème
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h01.


 
 
 
 
Partenaires

Hébergement Web