Как извлекать строки, начинающиеся с шаблона, и фрагменты между двумя шаблонами?

Попробуйте:

dpkg --add-architecture i386
apt-get update
apt-get install wine32

Даже если вторая команда выдает ошибку, попробуйте еще раз. Например, не смог найти репозиторий . Просто попробуйте снова и снова и проверьте свое соединение.

1
23.05.2017, 15:40
2 ответа

awk с его оператором диапазона (,) отлично подходит для этого. Отметьте дополнительный фильтр в конце (;) и привет, готово.

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}
5
27.01.2020, 23:14
sed -e '/^\\begin{Sinput}/,/^\\end{Sinput}/!{/^%%##/!d}'

perl -lne 'print if /^\Q\begin{Sinput}/.. /^\Q\end{Sinput}/ or /^%%##/'

Оператор rangeв Perlравен ... Мы используем следующий текст в кавычках, используя \Q, чтобы нам не нужно было явно экранировать специальные символы.

Результат

%%## 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}
1
27.01.2020, 23:14

Теги

Похожие вопросы