读取两个字符串之间的文本行

读取两个字符串之间的文本行

我正在用 LaTeX 写一本关于问题、电子工程流的小教科书。每章都有一长串小部分文件。在此,每个问题都由 LaTeX 环境问题分开。除了这个问题之外,还穿插了一些解释、定理和例子。

在这种情况下,我的问题是如何提取 \begin{Prob} 和 \end{Prob} 字符串之间的所有行(包括这两个行)。

\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

相关内容