• window、Linux 文本文件转换


    前言

    在Linux下使用vi来查看一些Windows下创建的文本文件时,有时会发现在每一行尾部有^M字符,是因为在Windows下换行使用CRLF两个字符来表示,其中CR为回车(ASCII=0x0D),LF为换行(ASCII=0x0A),而在Linux下使用LF一个字符来表示。

    1、tr命令

    使用tr命令拷贝标准输入到标准输出,替换或者删除掉选择的字符,只能把DOS转换为UNIX文件,命令如下:

    tr -d ‘
    ’< dosfile.txt > unixfile.txt
    

    2、vim

    vim是一个vi的改进版本,可以运行在Windows和Linux平台上,使用方法如下:

    vim dosfile.txt
    
    DOS转UNIX:set fileformat=unix
    UNIX转DOS:set fileformat=dos
    :wq
    

    如果你需要把Unix文本文件转换为DOS文本文件,输入:set fileformat=dos,你也可以使用ff来替代fileformat,此时可以输入:set ff=dos。你可以输入:help fileformat来获得跟多的关于选项信息。

    注:为了能让vim可以自动识别DOS和UNIX文本文件格式,可以在.vimrc(Linux)或_vimrc(Windows)配置文件中加入如下一行设置:

     set fileformats=dos,unix
    

    设置完成后,使用vim打开DOS文本文件就不会显示^M字符了。

    3、Perl

    Perl是相当直接,你添加或删除掉文件每行结尾的CR字符。

    DOS转UNIX:

    perl -p -e ‘s/
    $//’< dosfile.txt > unixfile.txt
    

    UNIX转DOS:

    perl -p -e ‘s/$/
    /’< unixfile.txt > dosfile.txt
    

    总结

    对于大型的文件,推荐使用perl工具;
    一般情况就用tr命令;如果要unix转dos就用vim;

  • 相关阅读:
    datagrid行拖拽(参考网上的相关资料)
    给定treeData,根据关键字进行过滤:显示父级元素;如果节点被选中,那它的子节点也全部被选中
    复选框
    UVA 10025 The ? 1 ? 2 ? ... ? n = k problem
    UVA10161 Ant on a Chessboard
    UVA 113 Power of Cryptography
    UVA 10785 The Mad Numerologist
    UVA 755 487-3279
    UVA10194 FootBall aka Soccer
    UVA 123 Searching Quickly 开始新的路程
  • 原文地址:https://www.cnblogs.com/lijinshan950823/p/9478249.html
Copyright © 2020-2023  润新知