将 \myExpr{这是一个句子} 形式的表达式替换为“这是一个句子”

将 \myExpr{这是一个句子} 形式的表达式替换为“这是一个句子”

我确信这个问题之前已经得到了回答,但是我有一个很长的文件,其中包含一堆形式的表达式\flagThis{Flag this sentence},我想将它们中的每一个替换为Flag this sentence.最简单的方法是什么?谢谢!

答案1

使用sed

sed -En 's/\\flagThis\{(.+)\}/\1/gp' file_name

例如

echo \flagThis{Flag this sentence} | sed -En 's/\\flagThis\{(.+)\}/\1/gp'

将输出

Flag this sentence

答案2

sed -i.backup -r 's/\\[a-zA-Z]+\{([^}]+)\}/\1/g' yourFile

就地编辑文件,创建备份。先删除-i.backup以测试它是否符合您的需要。

您可能会发现这会将多个匹配项一起滚动到一行上,因此您可能需要添加\1一个空格或\n(新行)。

相关内容