Это должно работать:
В качестве однострочного:
patt=In
sed -nr "/$patt/!b;:a;\$!N;/\n.*$patt/{h;s/\n[^\n]*\$//;g;s/^.*\n//};\$!ba;p" inputfile
Если ваш sed
требует -e
:
patt=In
sed -nr -e "/$patt/!b" -e ":a" -e "\$!N" -e "/\n.*$patt/{h" -e "s/\n[^\n]*\$//" -e "g" -e "s/^.*\n//}" -e "\$!ba" -e "p" inputfile
В отдельных строках:
patt=In
sed -nr "
/$patt/!b
:a
\$!N
/\n.*$patt/{
h
s/\n[^\n]*\$//
g
s/^.*\n//
}
\$!ba
p' inputfile