Tengo un LaTeX
documento en el que las modificaciones en el texto y las ecuaciones se hacen en color rojo para que se distingan del texto no modificado:
{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}
Esta modificación puede ser una sola palabra, una frase, una oración, un párrafo o una ecuación. Por ejemplo:
\pi \rho \hat{\bf x} \int\omega_{\color{red} \theta}
o
{\color{red} This work presents the ``numerical study'' of convection in vertical annuli;}
¿Cómo puedo escribir una perl
frase que pueda reemplazar {\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}
a MODIFIED TEXT OR EQUATION GOES HERE.
? Me refiero a eliminar {\color{red}
y la llave correcta }
en todo el LaTeX
documento.
Respuesta1
perl -p -i -e 's/{\\color{red}(.*)}/\1/g' filename
explicación de las banderas (dehttps://stackoverflow.com/a/6302045/330830):
-p: coloca un bucle de impresión alrededor de su comando para que actúe en cada línea de entrada estándar. Se usa principalmente para que Perl pueda superar a los demás en términos de potencia Y simplicidad :-)
-e: Le permite proporcionar el programa como argumento en lugar de en un archivo. No querrás tener que crear un archivo de script para cada pequeña frase en Perl.
-i: modifica su archivo de entrada en el lugar (haciendo una copia de seguridad del original). Útil para modificar archivos sin el proceso de {copiar, eliminar original, cambiar nombre}.
Respuesta2
Prueba esto:
$ echo "{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}" | \
perl -pe 's/\{\\color\{red\} (.*?)\}/$1/g'
MODIFIED TEXT OR EQUATION GOES HERE.