如何删除^ [vim中的字符以及它们来自何处

时间:2017-08-02 08:46:29

标签: vim

我有一个内容为xxx - wwdebug0: xxxx的文件,当我使用cat xx.log | grep 'wwdebug0' > a.txt取出所有wwdebug0字段并使用vim在Mac中打开a.txt时,内容变为- ^[[01;31m^[[Kwwdebug0^[[m^[[K:。< / p>

所以, 这些^[[m个角色来自哪里? 如何在a.txt中删除这些东西?

1 个答案:

答案 0 :(得分:3)

^[[...ANSI escape codes,用于突出显示终端中的文字。它们由grep引入以突出显示实际匹配。

通常情况下,grep会检测到您将输出重定向到文件中,并会关闭突出显示(--color=auto),但这对您不起作用(可能是因为您有--color=auto中的GREP_OPTIONS

要解决此问题,请更改您的设置,或通过

明确关闭默认选项
cat xx.log | GREP_OPTIONS= grep 'wwdebug0' > a.txt