LaTeX
수정되지 않은 텍스트와 구별하기 위해 텍스트와 방정식의 수정이 빨간색으로 수행되는 문서가 있습니다 .
{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}
이러한 수정은 단일 단어, 구, 문장, 단락 또는 방정식일 수 있습니다. 예를 들어:
\pi \rho \hat{\bf x} \int\omega_{\color{red} \theta}
또는
{\color{red} This work presents the ``numerical study'' of convection in vertical annuli;}
로 대체할 수 있는 한 줄의 코드를 어떻게 작성합니까 perl
? 내 말은 문서 전체에서 닫는 중괄호를 제거한다는 것입니다.{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}
MODIFIED TEXT OR EQUATION GOES HERE.
{\color{red}
}
LaTeX
답변1
perl -p -i -e 's/{\\color{red}(.*)}/\1/g' filename
표지판 설명 (에서https://stackoverflow.com/a/6302045/330830):
-p: 표준 입력의 모든 행에서 작동하도록 명령 주위에 인쇄 루프를 배치합니다. 주로 Perl이 기능과 단순성 측면에서 awk를 능가합니다 :-)
-e: 프로그램을 파일이 아닌 인수로 제공할 수 있습니다. 모든 작은 Perl 한 줄짜리 스크립트 파일을 만들고 싶지는 않습니다.
-i: 입력 파일을 제자리에서 수정합니다(원본 파일 백업). {복사, 원본 삭제, 이름 바꾸기} 과정 없이 파일을 쉽게 수정할 수 있습니다.
답변2
이 시도:
$ echo "{\color{red} MODIFIED TEXT OR EQUATION GOES HERE.}" | \
perl -pe 's/\{\\color\{red\} (.*?)\}/$1/g'
MODIFIED TEXT OR EQUATION GOES HERE.