2つの文字列間のテキスト行を読む

2つの文字列間のテキスト行を読む

私はLaTeXを使用して問題と電子工学の流れに関する小さな教科書を書いています。各章には小さなファイルの長いリストがあります。ここで、各質問はLaTeX環境の質問に分けられます。問題には説明、整理、例が散在しています。

この場合、私の質問は、\begin{Prob}と\end{Prob}文字列の間のすべての行(この2行を含む)を抽出する方法です。

\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}

行抽出のためのbashスクリプトを提案してください。 Pythonなどの他のソリューションも歓迎します。

答え1

「プール」が「印刷」を意味すると仮定すると、最も簡単なアプローチは次のとおりです。

sed -n '/\\begin{Prob}/,/\\end{Prob}/p' myfile

関連情報