使用bash从文本文件中删除保护字符之间的字符串

时间:2015-11-12 02:37:38

标签: bash

我有一个长文本文件,内容如下:

where the last element of :math:`\pmb{x}_i\in\mathbf{R}^{p}` is 1 and
the first :math:`p-1` elements of :math:`\pmb{x_i}` and

我想用空格替换:math:和“`”之间的所有字符串。例如,上面的文字应该变成:

where the last element of is 1 and
the first  elements of  and

我试过了:

sed $'/end/ {r exceptions\n} ; /:math:/,/`/ {d}' input_text.text > output_text.text 

但这会删除包含保护字符串的整行。我只想删除保护字符串之间的内容。

1 个答案:

答案 0 :(得分:2)

试试这个: sed -E 's/:math:`[^`]*`//g'

鉴于您的输入,我得到输出 where the last element of is 1 and the first elements of and

值得注意的是,这假设`字符不能在:math:tag中使用。