(7 odpovědí)
Uzavřeno před 4 lety.
Několik otázek je podobných této, ale nenašel jsem řešení, které by fungovalo, když chci hledat vzor na několika řádcích. Následující
sed -n '/First string/,/Second string/ p' my.file
vytiskne vše výskyty shodného vzoru, ale chtěl bych pouze první výskyt. Používám GNU sed.
Přijatá odpověď:
Použijte q
explicitně ukončit, když je dosaženo koncového vzoru.
V GNU sed:
$ cat foo
foo
START
bar
END
blah
START another
$ sed -n '/START/,/END/p; /END/q' foo
START
bar
END
awk
možná by to usnadnilo neopakování koncového vzoru:
$ awk '/START/{p=1} p; /END/{exit}' foo
START
bar
END