我确信这个问题之前已经得到了回答,但是我有一个很长的文件,其中包含一堆形式的表达式\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
(新行)。