忽略UNIX重定向中的转义序列和其他字符

时间:2011-04-25 22:15:45

标签: unix redirect console term

我正在将控制台输出重定向到一个文件,并将[?25h[?25l与我的常规输出混合在一起。我已经在线查看了apparently它们是cnorm和civis的序列字符,无论它们是什么。有没有办法在输出中抑制这些?

2 个答案:

答案 0 :(得分:2)

您可能尝试的一件事是将TERM环境变量设置为某个值 这不支持这些功能,例如使用像这样的Bash命令:

env TERM=dumb yourcmd > yourfile

(其中yourcmd是您要将其输出重定向到输出文件yourfile的程序<)

对于其他shell,您可能需要执行更像

的操作
setenv TERM dumb
yourcmd > yourfile

答案 1 :(得分:1)

我最终穿过sed。不过,吉姆的信息仍然非常有用。我用了这个命令:

sed 's/\[?25[hl]//'

顺便提一下,它会捕获[?25h[?25l,但不会捕获它们([?25h[?25l)。有什么建议吗?