终端输出重定向到文件

终端输出重定向到文件

我正在使用以下命令将终端的输出重定向到文件:

Command > File.txt

但文件的内容如下所示:

在此处输入图片描述

有什么问题?我怎样才能让它们看起来正常?

答案1

您正在执行的命令(minicom)使用“VT100 转义序列”进行光标定位。

要删除上面列出的字符,请通过管道传输文件

sed -e 's/^[\[[0-9][0-9];[0-9][0-9]H//'
#         ^^ actual ESCape

我通过输入 获得了 Escape Ctrl-VEsc

答案2

这些是终端转义序列,由终端驱动程序解释。当程序的输出被保存到文件中时,( minicom) 程序会错误地转储转义序列,而不检查其 STDOUT 的去向。

要摆脱转义序列,使用sed删除包含的行23;80H,dry-run:

sed '/23;80H/d' file.txt

修改:

sed -i '/23;80H/d' file.txt

如果您希望保留带有扩展名的备份.bak,请执行以下操作:

sed -i.bak '/23;80H/d' file.txt

答案3

发生这种情况是因为你还没有设置字符编码输出文件至UTF-8

如果你无法改变/ETC/*文件,

您可以手动设置gnome 终端菜单终端|设置字符编码统一码(UTF-8)

从这个stackoverflow获得的答案关联

相关内容