无法清除日志文件中的^

无法清除日志文件中的^

我正在尝试清除日志文件中的所有颜色控制字符。我能够清除除 之外的所有其他控制字符^[(B。请帮我也清理这个控制字符。

我正在使用这些组合来清理控制字符。

cat $LOGFILE | sed -e 's/\x1b\[[0-9;]*m//g' > $LOGDIR/Temp.txt

答案1

您的sed命令仅匹配颜色控制序列。 ^[(B用于设置字体/字符集映射(请参见控制台代码(4))。

如果仅有的日志文件中的控制字符是颜色序列^[(B,您可以使用以下命令将它们全部删除

sed -e 's/\x1b\(\[[0-9;]*m\|(B\)//g'

对于匹配所有可能的控制序列的表达式,请参见例如。https://stackoverflow.com/a/33925425/4228744(Python)

相关内容