zoukankan      html  css  js  c++  java
  • 在linux下打开文件出现^M,^H

    0 Problem

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

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

    1 Reason

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

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

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

    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转换过格式
  • 相关阅读:
    codevs1430 素数判定
    codevs1212 最大公约数
    codevs1012 最大公约数和最小公倍数问题
    codevs1160 蛇形矩阵
    Debate CodeForces
    Divide Candies CodeForces
    Login Verification CodeForces
    Colorful Bricks CodeForces
    ExaWizards 2019 English D
    Cards and Joy CodeForces
  • 原文地址:https://www.cnblogs.com/liaohuiqiang/p/7571365.html
Copyright © 2011-2022 走看看