我从远程linux计算机上得到了一个日志。看上去:
2013-10-23T08:19:05+0300 Last login: Wed Oct 23 08:17:38 EEST 2013 from 10.9.167.55 on pts/0
2013-10-23T08:19:05+0300 Last login: Wed Oct 23 08:19:05 2013 from 10.9.167.55^M
2013-10-23T08:19:07+0300 ^[[?1034h-bash-4.1$ date
2013-10-23T08:19:07+0300 Wed Oct 23 08:19:07 EEST 2013
2013-10-23T08:19:08+0300 -bash-4.1$ ls
2013-10-23T08:19:08+0300 ^[[0m^[[01;34m99^[[0m #avail.info ^[[01;34mgmoTemp^[[0m raml21.dtd SNMP4JTestAgentBC.cfg
2013-10-23T08:19:08+0300 an_mainHost_localhost_20131023081654000136.xml #avail.info~ gsh.txt ^[[01;34mresults^[[0m
2013-10-23T08:19:09+0300 ^[[m-bash-4.1$ exit
2013-10-23T08:19:09+0300 logout但应该是:
Last login: Wed Oct 23 08:17:38 EEST 2013 from 10.9.167.55 on pts/0
Last login: Wed Oct 23 08:19:05 2013 from 10.9.167.55
-bash-4.1$ date
Wed Oct 23 08:19:07 EEST 2013
-bash-4.1$ ls
99 #avail.info gmoTemp raml21.dtd SNMP4JTestAgentBC.cfg
an_mainHost_localhost_20131023081654000136.xml #avail.info~ gsh.txt results
-bash-4.1$ exit
logout 这些乱七八糟的代码是终端控制转义序列,您可以使用命令"infocmp“和"man”来获得更多细节。
我的问题是如何删除文件中的这些终端控制转义序列?
非常感谢!
发布于 2013-10-31 09:41:30
根据http://invisible-island.net/xterm/ctlseqs/ctlseqs.html,我使用了很多正则表达式来解决这个问题
发布于 2018-04-18 10:01:29
我用的是这样的管道或直管。
sed 's/[^[:print:]]\[[^a-zA-Z]*[a-zA-Z]//g' YourFilehttps://stackoverflow.com/questions/19556241
复制相似问题