从bash文件中删除颜色代码特殊字符

时间:2013-11-15 08:19:40

标签: bash sed ansi tee

我有一个运行并输出到文本文件的bash脚本,但它使用的颜色代码也包括我想知道的是如何从文件中删除它们,即

^[[38;1;32mHello^[[39m
^[[38;1;31mUser^[[39m

所以我只想留下Hello和User,所以像文件A中的sed -r“特殊字符”保存到文件B

2 个答案:

答案 0 :(得分:2)

sed 's/\^\[\[[^m]*m//g'

^[[开始删除(全部)部分行,直到第一个m

答案 1 :(得分:0)

有些人喜欢这样:

awk '{sub(/\^\[\[38;1;[0-9][0-9]m/,x);sub(/\^\[\[39m/,x)}1'
Hello
User