(7 réponses)
Fermé il y a 4 ans.
Plusieurs questions sont similaires à celle-ci, mais je n'ai pas trouvé de solution qui fonctionne lorsque je souhaite rechercher un motif sur plusieurs lignes. Ce qui suit
sed -n '/First string/,/Second string/ p' my.file
imprimera tous occurrences du modèle correspondant, mais je voudrais seulement la première occurrence. J'utilise GNU sed.
Réponse acceptée :
Utilisez q
pour quitter explicitement lorsque le modèle de fin est atteint.
Dans GNU sed :
$ cat foo
foo
START
bar
END
blah
START another
$ sed -n '/START/,/END/p; /END/q' foo
START
bar
END
awk
faciliterait peut-être le fait de ne pas répéter le motif de fin :
$ awk '/START/{p=1} p; /END/{exit}' foo
START
bar
END