使用 sed 将 `\caption[任意长度的文本]{some text}` 替换为 `\caption{some text}`

使用 sed 将 `\caption[任意长度的文本]{some text}` 替换为 `\caption{some text}`

我无法发现我的拒绝中存在的错误,我认为我遗漏了一些内容,如果对此有一些指导,那就太好了。

我尝试通过删除 []\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”开头,后跟“[”的字符串。然后我们零个或多个不是“]”的符号。其次是 ”]”。

将整个字符串替换为“标题”。

相关内容