zoukankan      html  css  js  c++  java
  • linux和windows文本换行格式问题(^M)

    起源

    在windows中写的脚本执行完全没问题,代码一模一样,切换到linux中执行报错。利用命令 “vi/vim -b 文件名”查看文件发现每行结尾多了“^M”这样的结尾。

    根源

    通过查询得知,其问题根源是windows和linux换行符不同造成,二者区别如下表(外加了mac book)

      windows linux MacBook
    换行符
    ASCII 0x0d0a 0x0a 0x0d

      其中:

    • " "在ASCII中表示“换行(LF)”
    • " "在ASCII中表示“回车(CR)”

    解决

    注:主要在linux中解决由于文件结尾产生的错误

    1、确认代码无误

    2、利用命令“vi -b [filename] ”查看结尾是否多了“^M”

    3、文件格式转换

    • 方式一:dos2unix
      • 下载并安装dos2unix
      • 利用命令“dos2unix [filename]”完成转换
    • 方式二:替换(vim+正则表达式)
      • 利用命令“vim -b [filename]”打开该文件
      • 在命令模式下输入:“%s/^M//g”或者“g/^M/s/^M//”
      • 保存并退出

    注意:方式二中“^M”的输入方式:ctrl+v+m

    Hope you will sing a song for me!
  • 相关阅读:
    Zabbix5 Frame 嵌套
    Zabbix5 对接 SAML 协议 SSO
    CentOS7 安装 Nexus
    CentOS7 安装 SonarQube
    GitLab 后台修改用户密码
    GitLab 查看版本号
    GitLab Admin Area 500 Error
    Linux 安装 PostgreSQL
    Liger ui grid 参数
    vue.js 是一个怪东西
  • 原文地址:https://www.cnblogs.com/feer/p/9578059.html
Copyright © 2011-2022 走看看