• dos2unix和unix2dos


    一 单次转换 

    用于转换 Windows UNIX 的换行符,通常在windows系统中开发的源码文件,换行符是\r\n,二linux中的文件的换行符是\n。如果不转行可能会出错。

     在windows记事本写一个hello world源码.

    1. #include
    2. int main(void)
    3. {
    4. printf("hello world\n");
    5. return 0;
    6. }

    使用十六进制工具打开,看到0d 0a,如下所示,就是'\r\n'; 

    使用dos2unix命令转换:

    1. $ dos2unix haha.c
    2. dos2unix: converting file haha.c to Unix format ...
    3. e$

      如下所示,0d 0a变成0a了。

     当前文件大小是512字节:

    1. lkmao@ubuntu:/mnt/hgfs/share$ ls -lsh haha.c
    2. 512 -rwxrwxrwx 1 root root 75 1124 20:45 haha.c
    3. lkmao@ubuntu:/mnt/hgfs/share$

     再使用unix2dos转换回去:

    1. lkmao@ubuntu:/mnt/hgfs/share$ unix2dos haha.c
    2. unix2dos: converting file haha.c to DOS format ...
    3. lkmao@ubuntu:/mnt/hgfs/share$

    转换后的十六进制视图:

    查看文件大小:如下所示,文件变成了81字节,增加了6字节,使用wc -l,看到文件就6行,每行的0a 变成了0d 0a,每行增加一个字节。

    1. lkmao@ubuntu:/mnt/hgfs/share$ ls -lsh haha.c
    2. 512 -rwxrwxrwx 1 root root 81 11月 24 20:48 haha.c
    3. lkmao@ubuntu:/mnt/hgfs/share$ wc -l haha.c
    4. 6 haha.c
    5. lkmao@ubuntu:/mnt/hgfs/share$

     二 批量转换

    批量dos2unix:这个还挺难敲,注意中间的空格别整没了。

    find trans/ -type f -exec dos2unix {} \;
    1. lkmao@ubuntu:/mnt/hgfs/share$ find trans/ -type f -exec dos2unix {} \;
    2. dos2unix: converting file trans/haha.c to Unix format ...
    3. dos2unix: converting file trans/hehe.c to Unix format ...
    4. lkmao@ubuntu:/mnt/hgfs/share$

    批量dos2unix:

    1. lkmao@ubuntu:/mnt/hgfs/share$ find trans/ -type f -exec unix2dos {} \;
    2. unix2dos: converting file trans/haha.c to DOS format ...
    3. unix2dos: converting file trans/hehe.c to DOS format ...
    4. lkmao@ubuntu:/mnt/hgfs/share$

  • 相关阅读:
    java核心技术卷案例_克隆
    Go语言网络编程(socket编程)WebSocket编程
    Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 详解
    c#: Newtonsoft.Json 高级用法二(jsonpath)
    超越.NET极限:我打造的高精度数值计算库
    centos环境上:k8s 简单安装教程
    Java“对象”
    linux内核驱动——字符设备实现两个终端单向收发
    神经网络如何识别图像,神经网络提取图片特征
    数据库的基本概念
  • 原文地址:https://blog.csdn.net/yueni_zhao/article/details/128026329