我可以使用什么命令从文本文件中剥离颜色代码转义序列? 理想情况下,我可以通过。 如果我有一个彩色文本rainbow.txt的文件,那么差距是什么:
cat rainbox.txt | *something* > plain.txt
我在CentOS 4.4上工作。
尝试:
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"
cat rainbox.txt | col -b > plain.txt
你不能,因为什么是一个转义序列一般没有很好的定义 – 你需要知道你的转义序列是为什么样的terminaldevise的。 如果你想限制这个问题来“去除ANSI颜色序列”(一个相当可能的假设),例如:
sed 's/\o033\[[0-9]*;[0-9]*m//g'
应该做的伎俩。
下面将捕捉[Xm , [X; m , [X; Ym ,和[X; Y; Zm的可能性(其中一些在技术上可能不正确,但是它们工作并且在野外被看到):
sed -r 's|\x1B\[[0-9]{1,2};?(;[0-9]{1,2}){,2}m||g'