控制台程序(translate-shell)有一个带颜色的输出,并使用特殊的装饰字符:^ [[22m,^ [[24m,^ [[1m ...等等。
我想删除它们以获得纯文本。
我尝试使用tr -d“^ [[22m”并使用sed的/ [\ ^ [[22m] // g',但只删除了数字,而不是特殊字符^ [
感谢。
答案 0 :(得分:6)
您有多种选择:
-no-ansi
正如Jens在其他答案中指出的那样修改强>
solution from commandlinefu做得很好:
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"
solution from unix.stackexchange可能会更好,但会更长,因此您可能希望创建一个单独的脚本文件,因为它太长而不只是做一个单行内容。
答案 1 :(得分:2)