Text-Processing

讀取兩個字元串之間的文本行

  • March 5, 2018

我正在用 LaTeX 寫一本關於電子工程流的小問題教科書。每章都有一長串小部分文件。在此每個問題都由 LaTeX 環境 Prob 分隔。除了這些問題之外,還穿插了一些解釋、定理和例子。

在這種情況下,我的問題是如何拉出之間的所有線

$$ \begin{Prob} and \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 等的其他解決方案。

假設“拉出”是指“列印”,最簡單的方法可能是:

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

引用自:https://unix.stackexchange.com/questions/333446