如何删除以反斜杠开头的任何字符串?

时间:2012-05-11 23:38:02

标签: bash sed

我有一个包含很多TeX标记的文件,如下所示:

The fish ate 20\percent more food than the bear.
The fish ate \the\number\percent more food than the bear.

我想删除那些TeX代码的文本,例如\percent,并将其替换为空格。

  • 加价始终以\
  • 开头
  • 标记后面跟着一个空格{或其他\
  • \永远不会在文件的其他情况下使用。

如何删除这些项目的外观,这些项目以\开头,之后后跟空格{或其他\

1 个答案:

答案 0 :(得分:3)

您可以使用此perl命令:

perl -pe 's#\\[^ \\{]+# #g' file.txt

或使用sed:

sed -E 's#\\[^ \\{]+# #g' file.txt

如果不支持-E,则为:

sed -r 's#\\[^ \\{]+# #g' file.txt

输出

The fish ate 20  more food than the bear.
The fish ate     more food than the bear.