Salut à tous,
je dois extraire certains blocs d'un fichier texte sous certaines conditions :
- Le bloc doit commencer par 'fmri'
- Le bloc doit contenir la chaîne 'restarter svc:/system/svc/restarter:default'
Voici un example en entrée :
1 2 3 4 5 6 7 8 9 10
| fmri svc:/system/vxpbx:default
state_time Wed Mar 21 08:49:43 2012
logfile /var/svc/log/system-vxpbx:default.log
restarter svc:/system/svc/restarter:default
dependency require_all/none svc:/system/filesystem/local (online)
fmri svc:/application/management/common-agent-container-1:default
name Cacao, a common Java container for JDMK/JMX based management solution
enabled false
dependency require_all/none svc:/milestone/multi-user (online) |
Ce qui doit donner en sortie :
1 2 3 4 5
| fmri svc:/system/vxpbx:default
state_time Wed Mar 21 08:49:43 2012
logfile /var/svc/log/system-vxpbx:default.log
restarter svc:/system/svc/restarter:default
dependency require_all/none svc:/system/filesystem/local (online) |
Je suis arrivé à cette solution là :
awk '/fmri/{s=x}{s=s$0"\n"}/restarter/{p=1}/^$/ && p{print s;exit}' svcs-l_spsol03.out
Mais seul le premier bloc est affiché, et je ne vois pas pourquoi.
Merci de votre aide !
Partager