• linux去掉文件行尾的^M


    在Linux下使用vi来查看一些在Windows下创建的文本文件,有时会发现在行尾有一些“^M”。这种文件在执行时会报错bash: ./startserver.sh: /bin/sh^M: bad interpreter: No such file or directory。可以通过下面的方式解决:

    用vi 打开文件,输入: set ff? 回车,如果显示的结果是dos,输入: set ff=unix 即可。

    2017.3.25补充

    此外还有几种解决方法。

    1.VI下使用正则表达式替换
       g/^M/s/^M//
        或者
       %s/^M//g

    2.使用sed 工具
        sed ’s/^M//’ filename > tmp_filename

    3.既然window下的回车符多了‘ ’,那么当然通过删除‘ ’ ,也可以实现:
        tr -d " "

    4.在终端下敲命令:

        $ dos2unix filename

    在网上又搜索到一篇将UNIX和WINDOWS间的换行转换的文章,学习补充下:
    语法
    dos2unix [-kn] file [newfile] 从DOS转换到UNIX
    unix2dos [-kn] file [newfile] 从UNIX转换到DOS也就是WINDOWS
    -k : 保留该文档原来的 mtime 时间 (不更新文档上次内容经过修改的时间)
    -n : 保留原来的文档,将转换后的内容输入到新文档中 例如: dos2unix -n old new

  • 相关阅读:
    驾照更换说明
    批处理创建快捷方式
    AC中保存数据与查询数据
    logger日志模块
    如何将python脚本转化为exe
    numpy学习
    request是个什么东西
    django的test文件的使用方式
    高频正则表达式
    dir 的作用
  • 原文地址:https://www.cnblogs.com/zoro-robin/p/6558293.html
Copyright © 2020-2023  润新知