|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 6 ![]() |
Bonjour tout le monde.
J'ai un fichier qui contient des entrées du type: define host{ use generic-host host_name nomduhost address xxx.xxx.xxx.xxx } Je veux écrire un script bash qui identifie la présence d'un paragraphe du type de celui exposé ci-dessus et le supprime si le nom "nomduhost" correspond à celui que je recherche. Je me suis dit que la commande sed pourrait éventuellement me permettre de résoudre ma problématique. J'arrive facilement à trouver la ligne host_name nomduhost et à la supprimer, mais je ne sais pas comment m'y prendre pour supprimer celles qu'il y a avant et après. Quelqu'un aurait-il la gentillesse de m'aider? Merci beaucoup d'avance à ceux qui me répondront! |
|
|
10
|
|
|
#2 | ||
|
Membre habitué
![]() Étudiant Inscription : août 2011 Messages : 46 ![]() |
Si la forme est toujours la même, avec 5 lignes à supprimer et le motif au centre, le plus simple serait de faire :
Code :
|
||
|
|
10
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
Code :
sed -i.bak '/define/{N;N;N;N;/nomduhost/d}' fichier
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
10
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Ou avec "ed" aussi :
Code :
ed -s plop <<<$'/nomduhost/-2,//+2d\nw'
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
01
|
Copyright © 2000-2012 - www.developpez.com