当前位置: 技术问答>linux和unix
cat 可以正常显示,vi却乱码?
来源: 互联网 发布时间:2016-09-03
本文导语: 我的操作如下: $top >test.txt 用cat可以正常显示,但是用vi则乱码,求解决方法。 | top -b -n 1 >top.txt | 搜到这么一段,据说是可以删掉escape sequences 我刚试了一下,大部分...
我的操作如下:
$top >test.txt
用cat可以正常显示,但是用vi则乱码,求解决方法。
$top >test.txt
用cat可以正常显示,但是用vi则乱码,求解决方法。
|
top -b -n 1 >top.txt
|
搜到这么一段,据说是可以删掉escape sequences
我刚试了一下,大部分都可以去掉,但是还剩下一点。可能还得稍微修改一下
我刚试了一下,大部分都可以去掉,但是还剩下一点。可能还得稍微修改一下
#!/bin/bash
#
# Copyright SwaJime's Cove, 2009; all rights reserved
#
# Based on data obtained from http://www.gnu.org/software/teseq/manual/html_node/Escape-Sequence-Recognition.html
#
# A control sequence starts with
CSI='x1b[' # the two-character csi escape sequence .Esc [., followed by
Rp='[0-9:;?]' # an optional sequence of parameter bytes in the range x30.x3F,
Ri='[- !"#$%&'''()*+,./]' # an optional sequence of intermediate bytes in the range x20.x2F,
Rf='[]@A-Z[\^_`a-z{|}~]' # and a final byte in the range x40.x7e.
# The set of standard control sequence functions are defined in Ecma-48 / ISO/IEC 6429.
cat test.txt | sed -e 's/'"$CSI$Rp"'*'"$Ri"'*'"$Rf"'//g' > test1.txt