zoukankan      html  css  js  c++  java
  • linux去掉windows下文件中的 dos2unix

    Unix体系里,每行结尾只有“<换行>”,即“ ”;
    Windows体系里面,每行结尾是“<换行><回 车>”,即“ ”。
    一个直接结果是,Unix体系下的文件在Windows里打开的话,所有文字会变成一行;
    而Windows里的文件在Unix下打开的话,在每行的结尾可能会多出一个^M符号。

    好了,所以我的题目就出在被处理惩罚的文件的每行末尾都有^M符号,而这凡是是看不出来的。可以用”cat -A test.file”号令查看。是以当我想在行尾添加字符的时辰,它老是添加在行首且会覆盖掉本来行首的字符。

    使用vim方式处理
    在vim命令模式下输入%s/^M$//g

    回车即会自动删除该文件中的所有 ^M 字符。
    那么,这句命令到底是什么意思呢?% 指匹配整个文件,s 是置换的意思,^M 注意要用 Ctrl + V Ctrl + M 来输入,M 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换。

    理解了命令的含义,就好变通使用了,比如说,要将某个文件中的 Vim 全部替换成 VIM,则可以使用这样的命令::%s/Vim/VIM/g。

    方法1:
    在命令模式下:输入:%s/^M//g 然后,回车即可替换

    注,其中”^M”的输入,分别是“Ctrl+v”、“Ctrl+M”键生成的

    方法2:

    使用vi打开文本文件
    vi dos.txt
    命令模式下输入
    :set fileformat=unix
    :w

    方法3:

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

    方法4:

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

    方法5:(最常用的方法)

    在终端下敲命令:
    $ dos2unix filename
    直接转换成unix格式,就OK了!~
  • 相关阅读:
    POJ-3176 Cow Bowling
    01背包、完全背包、多重背包
    最后的几天暑假学习
    暑假的学习
    凸包算法(Graham扫描法)详解
    微软版的SqlHelper.cs类
    SQL语句分组排序,多表关联排序
    SQL存储过程分页(通用的拼接SQL语句思路实现)
    增加删除字段修改字段名,修改表结构,非常用SQL语句技巧总结
    Asp.net mvc返回Xml结果,扩展Controller实现XmlResult以返回XML格式数据
  • 原文地址:https://www.cnblogs.com/dream397/p/13815441.html
Copyright © 2011-2022 走看看