0 Problem

在服务器上跑keras实验,然后用tee指令把实验结果保存在文本文件中。

 文本文件在本机linux下用vim打开文件时会出现^M,^H。用sublime打开也会出现奇怪的字符。

1 Reason

    linux下的换行符是\n,windows是\r\n,所以windows下的文件在linux下打开的话,\r会作为控制字符^M显示。(mac下换行符是\r)

^H出现的原因未知,估计是keras的进度条显示的方法造成。其实原因不太重要,反正能去掉,保证看的顺眼就好了。

 说到控制字符,可以简单列举几个。如下表所示,其中LF和CR是常用的换行符,SOH, EOT, ESC三个字符在计算机网络的数据链路层的帧传输时用到过,NUL为C中字符串结束提供标志\0。

Seq   ^J ^M ^H ^A ^D ^{  
十进制       10 13 08 01 04 27 00
缩写       LF CR BS SOH EOT ESC NUL
字符名       

Line Feed

(换行)

Carriage Return

(回车)

Backspace

(退格)

Starting of Heading

(报头开始)

End of transmission

(传输结束)

Escape

(转义)

Null

(空)

2 Solution

在vim下把^M替换掉。注意^M的输入方式为:ctrl + v 和ctrl + m

:%s/^M$//g

所以文件里又一些奇怪的字符,也可以这样去掉,比如^H。注意^H的输入方式为:ctrl + v 和ctrl + h

 :%s/^H//g

3 Others

网上看到一些别的方法,take notes下。

:set ff=unix # 告诉vim使用unix换行符

find ./ -type f -print0 | xargs -0 dos2unix # 批量查找普通文件,然后执行dos2unix转换过格式

在linux下打开文件出现^M,^H的更多相关文章

  1. linux下打开文件、编辑文本cat\gedit\nano

    cat: 文本编辑器:gedit.nano,要获得根权限,在前面加上sudo

  2. linux下打开chm文件的方法

    windows中,通常情况下,chm文件可以使用系统自带的程序打开,但是linux就没有那么幸运了,那么,如何在linux下打开chm 文件呢?有小编来为您介绍介绍,本篇,小编以ubuntu环境为例 ...

  3. 解决Windows下文件在Linux下打开出现乱码的问题

    目录 问题 原理 解决 总结 参考资料 问题 前几天生病了,Java一直在看代码但是没跟着打,于是决定偷一波小小的懒,直接把教材的代码从Windows通过共享文件夹放到了Linux里面.但是编译的时候 ...

  4. Linux下打开超大文件的方法

    Linux下打开超大文件方法 在Linux下用VIM打开大小几个G.甚至几十个G的文件时,是非常慢的. 这时,我们可以利用下面的方法分割文件,然后再打开. 1 查看文件的前多少行 head -1000 ...

  5. Linux下的文件及文件后缀名

    Linux下的文件及文件后缀名 2013-03-14 15:34 6969人阅读 评论(0) 收藏 举报 ++++++++++++++++++++++++++++++++++++++正文+++++++ ...

  6. Linux 下查看文件字符编码和转换编码

    Linux 下查看文件字符编码和转换编码 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而Linu ...

  7. Linux Linux下最大文件描述符设置

    Linux下最大文件描述符设置 by:授客 QQ:1033553122 1.   系统可打开最大文件描述符设置 查看系统可打开最大文件描述符 # cat /proc/sys/fs/file-max 6 ...

  8. [转载]linux下core文件设置与查看

    转自:https://blog.csdn.net/dingqinghui/article/details/77855330?locationNum=9&fps=1 linux下core文件设置 ...

  9. linux 下vim文件乱码 cat文件正常处理方法

    linux 下vim文件乱码 cat文件正常处理方法 服务器支持中文字符集,cat和其他查看文件命令现在正常,vim还是出现了中文乱码问题, 1.查看文件编码格式 vim 文件 :set fileen ...

随机推荐

  1. easyui menu 添加hideItem/showItem 方法

    $.extend($.fn.menu.methods,{ showItem:function(jq,text){ return jq.each(function(){ var item = $(thi ...

  2. 第一百四十四节,JavaScript,列队动画

    JavaScript,列队动画 将上一节的,移动透明动画,修改成可以支持列队,也就是可以给这个动画方法多个动画任务,让它完成一个动画任务后,在执行第二个动画任务 原理: 就是在原有的动画方法里加一个回 ...

  3. kvm和qemu的关系

    KVM (Kernel Virtual Machine) is a Linux kernel module that allows a user space program to utilize th ...

  4. React课程学习

    http://guoyongfeng.github.io/idoc/index.html

  5. Response响应对象

    1.HttpServletResponse HttpServletResponse是一个定义在Servlet API中的接口,继承自ServletReponse接口,用于封装HTTP响应消息.HTTP ...

  6. Windows(7)上那些好用的软件及优化技巧(原创)

    *本文为原创内容,转载请注明作者和出处:www.cnblogs.com/wang1024 软件篇 注:以下软件在百度直接搜索软件名均可找到官网,直接官网下载即可 大众的软件哪个好: 杀毒软件专题 基于 ...

  7. SQL Server常用函数汇总

    1.day(date)    用途:获取日期是所在月的几号  参数:date是一个可以解析为 time.date.smalldatetime.datetime.datetime2 或 datetime ...

  8. Storm-源码分析-Topology Submit-Task

    mk-task, 比较简单, 因为task只是概念上的结构, 不象其他worker, executor都需要创建进程或线程 所以其核心其实就是mk-task-data, 1. 创建TopologyCo ...

  9. 第13章—数据库连接池(Druid)

    spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html 码云源码地址:https://gitee.com/jinxia ...

  10. 从es中拉取全部数据/大量数据 使用scroll+scan避免深分页

    es一次请求默认返回的数据条数是10条,可以通过设置size参数来控制返回数据的条数: 如果要返回很多数据,可以把size设置的很大,不过elastic search默认size最大不能超过1万. 那 ...