17 我可以使用什么命令从文本文件中剥离颜色代码转义序列?理想情况下,我可以通过管道传输内容。如果我有一个带有一堆彩色文本rainbow.txt的文件,那么空白是什么: cat rainbox.txt | *something* > plain.txt 我正在CentOS 4.4上使用bash。 linux scripting — d source
30 尝试: sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" — th source 在这三个答案中,这是唯一有效的答案。 — slm 2014年
4 cat rainbox.txt | col -b > plain.txt — 六 source 为什么对此没有任何支持?唯一适合我的解决方案!而且这太简单了! — phunehehe 2011年 3 因为它对我不起作用。 — lzap 2012年 6 这仅摆脱了转义字符,而不是其参数。 — 亚伦
1 您不能这样做,因为一般来讲,转义序列的定义不明确-您需要知道转义序列是为哪种终端设计的。如果要将问题限制为“条状ANSI颜色序列”(一个相当可能的假设),则类似: sed 's/\o033\[[0-9]*;[0-9]*m//g' 应该做到的。 — 子宫 source
1 下面将捕捉[XM,[X; M,[X; YM,以及[X; Y;的Zm可能性(其中一些可能是不正确技术,但他们的工作和在野外已经看到的): sed -r 's|\x1B\[[0-9]{1,2};?(;[0-9]{1,2}){,2}m||g' — linux_sa source