Наилучшее описание проблемы дано при взгляде на http://rubular.com/r/9zDHFh0gGc. Почему sed
так не работает? Я думаю, что проблема зависит от этих обратных слешей \
во фрагментах, например в {1+\cos^2 t + t^2}
.
Точно хочу подставить в исходник
Test Text
= \int_0^{\pi}\vvvec
{1+\cos^2 t + t^2}
{1+ \sin^2 t + t^2}
{1 + 2 t^2}
\cdot \vvvec{-2\cos t \sin t}{2\cos t \sin t}{2t}\ud t =
Ende
по команде sed -r 's/\\vvvec[[:space:]]*\{([^\}]*)\}[[:space:]]*\{([^\}]*)\}[[:space:]]*\{([^\}]*)\}/\\begin\{pmatrix\}\1\\\\\2\\\\\3\\end\{pmatrix\}/g' source
и надеемся получить результат
Test Text
= \int_0^{\pi}\begin{pmatrix}1+\cos^2 t + t^2\\1+ \sin^2 t + t^2\\1 + 2 t^2\end{pmatrix}
\cdot \begin{pmatrix}-2\cos t \sin t\\2\cos t \sin t\\2t\end{pmatrix}\ud t =
Ende
Извините - не вижу, почему не работает.
Строка вроде бы в порядке, так как echo "\vvvec{1}{2}{3}" | sed -r 's/\\vvvec[[:space:]]*\{([^\}]*)\}[[:space:]]*\{([^\}]*)\}[[:space:]]*\{([^\}]*)\}/\\begin\{pmatrix\}\1\\\\\2\\\\\3\\end\{pmatrix\}/g'
\begin{pmatrix}1\\2\\3\end{pmatrix}
работает нормально.
Он перестает работать при вставке \sin
, например, в один компонент.