awk
com seu operador de faixa (,) funciona muito bem para isso. Marque um filtro extra no final (;) e pronto.
awk '/^\begin\{Sinput\}/,/^\end\{Sinput\}/;/^%%##/' infile.tex
%%## Just some text
\begin{Sinput}
> set.seed(271)
> U <- runif(10)
> plot(U, 1-U)
\end{Sinput}
\begin{Sinput}
> plot(qnorm(cbind(U, 1-U)))
\end{Sinput}