Lê linhas de texto entre duas strings [duplicate]

1

Estou escrevendo um pequeno livro de texto de problemas, fluxo de engenharia eletrônica, no LaTeX. Tem uma longa lista de arquivos de pequenas partes para cada capítulo. Neste, cada problema é separado pelo ambiente LaTeX Prob. Além desses problemas, algumas explicações, teoremas e exemplos também são intercalados.

Nessa condição, minha pergunta é como retirar todas as linhas entre as seqüências de caracteres \ begin {Prob} e \ end {Prob}, incluindo essas duas.

\section{Vector Operations}


\begin{description}[style=multiline,leftmargin=0.25\textwidth,font=\bfseries]
    \item [Negative Direction] If $\vb{A}$ is defined as shown  
    \item [Addition]  Adding $\vb{A}$ and $\vb{B}$ is done by 
\end{description}



\section{Exercises}





\begin{Prob}
    Find the component of $\vb{A}$ along  $\vb{B}$ in the following $\vb{A}= 10\ux-6\uy+7\uz$ and $\vb{A}= -5\ux+7\uy$ and  find $3\vb{A}+2\vb{B}$.

    \begin{ans}
        content...
    \end{ans}

    \begin{sol}
        The component of $\vb{A}$ along $\vb{B}$ is found by
$(\vb{A}\dotproduct \vb{B}) \frac{\vb{B}}{\abs{B}} $
and,   $\vb{A}\dotproduct \vb{B} = A_xB_x+A_yB_y+A_zB_z$  

If $\vb{A}= 10\ux-6\uy+7\uz$ and $\vb{A}= -5\ux+7\uy$ then  $\vb{A}\dotproduct \vb{B} = 10(-5)-6.7$


    \end{sol}

\end{Prob}



\begin{Prob}

    Given that $L(2,3,2)$ and $M(-3,0,5)$ find 
    \begin{enumerate}[noitemsep,nolistsep]
    \item Vector directed from Origin to $L$.
    \item Unit vector along from origin to the mid point of $L$ and $M$.
    \item Calculate the length of vector $\boldsymbol{LM}$.
    \end{enumerate}

    \begin{ans}
\begin{multicols}{3}
    \begin{enumerate}[noitemsep,nolistsep]
        \item $\vecty{2}{3}{2}$
        \item $\big( -0.5, 1.5, 3.5  \big) $
        \item $\vecty{2.5}{1.5}{-1.5}$
    \end{enumerate}
\end{multicols} 
    \end{ans}

    \begin{sol}
    \begin{enumerate}[noitemsep,nolistsep]
        \item \begin{align*}
        \boldsymbol{LO} &= \vecty{(2-0)}{(3-0)}{(2-0)}\
        &= \vecty{2}{3}{2} \
        \end{align*}
        \item Mid point of $L$ and $M$ \begin{align*}
        \boldsymbol{ML} &= \Big(\frac{(2-3)}{2}, \frac{(3+0)}{2}, \frac{(2+5)}{2} \Big) \
        &= \big( -0.5, 1.5, 3.5  \big) \
        \end{align*}
        \item Vector joining $L$ and $M$ is \begin{align*}
        \boldsymbol{LM} &= \vecty{\frac{(2+3)}{2}}{\frac{(3-0)}{2}}{\frac{(2-5)}{2}} \
        &= \vecty{2.5}{1.5}{-1.5}
        \end{align*}
    \end{enumerate}
    \end{sol}
\end{Prob}

Por favor, sugira um script bash para extrair as linhas. Outras soluções usando python etc também são bem vindas.

    
por Rama Krishna Majety 29.12.2016 / 05:55

1 resposta

3

Supondo que por "retirar" você quer dizer "imprimir", a maneira mais simples é provavelmente:

sed -n '/\begin{Prob}/,/\end{Prob}/p' myfile
    
por 29.12.2016 / 06:15