答案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获得的答案关联