sed를 사용하여 `\caption[모든 길이의 텍스트]{일부 텍스트}`를 `\caption{일부 텍스트}`로 바꾸세요.

sed를 사용하여 `\caption[모든 길이의 텍스트]{일부 텍스트}`를 `\caption{일부 텍스트}`로 바꾸세요.

거부에서 오류를 찾을 수 없습니다. 뭔가 누락된 것 같습니다. 이에 대한 지침이 있으면 좋을 것 같습니다.

\caption[any leng of text]{some text}[]를 제거하여 다음을 연결해 보았습니다 .\caption{some text}

내 sed 명령은 다음과 같습니다

sed -i -e 's/caption\(\[[^]\]*\)/caption/g'  

하지만 다음과 같은 잘못된 결과가 나타납니다.

diff --git a/sections/chap_1.tex b/sections/chap_1.tex
index 3eeaa87..5575b76 100644
--- a/sections/chap_1.tex
+++ b/sections/chap_1.tex
@@ -10,7 +10,7 @@ un sistema di drenaggio parallelo a quello venoso\cite{BOOK1}.\\
     \begin{center}
     \includegraphics[width=0.9\columnwidth]{img/ANATOMY2.jpeg}
     \end{center}
-    \caption[Anatomia del sistema linfatico, vasi sanguigni e linfatici]{Anatomia del sistema linfatico, vasi sanguigni e linfatici
+    \caption]{Anatomia del sistema linfatico, vasi sanguigni e linfatici
     \cite{img1}}

누구든지 내가 뭘 잘못하고 있는지 명확히 할 수 있습니까?

답변1

sed -i -e 's/caption\[[^]]*\]/caption/g'

"caption"으로 시작하고 뒤에 "["가 오는 문자열을 찾습니다. 그런 다음 "]"가 아닌 기호가 0개 이상 있습니다. 이어서 "]".

전체 문자열을 "제목"으로 바꿉니다.

관련 정보