URL: https://linuxfr.org/forums/programmation-shell/posts/effacer-un-bloc-qui-contient-un-pattern Title: effacer un bloc qui contient un pattern Authors: Cereal Killer Date: 2007年02月26日T21:49:10+01:00 Tags: Score: 0 Plop les moules et autres mollusques ... Ca va faire quelque temps maintenant que je bloque sur un truc à priori simple. J'aimerai effacer un bloc dans un fichier si ce bloc match un pattern. Et comme un exemple vaut mieux qu'un long discours, voilà l'exemple du fichier avec les blocs :
define host { hostname plop blablabla } define service { hostname plop alias LALIAS command cmd blablabla blablabla } define service { hostname plop alias LALIAS2 command cmd2 blabalbla blablabla }Le but du jeu est, comme tout le monde l'aura compris, de supprimer un bloc service avec le pattern LALIAS2 sans toucher au reste du fichier évidemment :) Le shell est ksh. J'ai bien quelque baffouille en sed si des gens me demande, mais j'ai un peu honte de c'que j'ai pondu :s Bon, si personne trouve, c'est pas grave, le stagiaire m'a pondu un truc en awk qui a l'air de marcher ; mais vu que j'suis faché avec awk et que je sais que de guru du shell me trouveront un truc elegant/beau (tout l'inverse de awk quoi), je préfère venir vous demander. D'avance merci! PS : un pertinentage à celui qui trouve à quel logiciel appartient ce genre de fichier de conf ...