• 如何在 Unix 和 DOS 格式之间转换文本文件


    本文介绍如何在 Unix 和 DOS 格式之间转换文本文件。DOS 文本文件带有回车符( \r )和换行符( \n )作为它们的换行符,而 Unix 文本文件只有( \n )换行符作为换行符。

    有多种方法可以将 DOS 文本文件转换为 Unix 格式。但建议使用一个名为 dos2unix / unix2dos 的工具在 DOS 和 Unix 格式之间转换文本文件。

    • dos2unix:
    • unix2dos:
    • tr, awk, sed:

    你可以使用od命令识别文件是 DOS 格式还是 Unix 格式,如下所示。

    [root@server1 ~]# od -bc windows.txt 
    0000000 141 163 144 154 146 152 015 012 141 163 144 146 141 163 144 146
              a   s   d   l   f   j  \r  \n   a   s   d   f   a   s   d   f
    0000020 015 012 141 163 147 146 015 012 141 163 144 146 015 012 141 163
             \r  \n   a   s   g   f  \r  \n   a   s   d   f  \r  \n   a   s
    0000040 144 146 015 012 141 163 144 146 147 144 015 012 144 147
              d   f  \r  \n   a   s   d   f   g   d  \r  \n   d   g
    0000056
    

    如何在 Unix 和 DOS 格式之间转换文本文件如何在 Unix 和 DOS 格式之间转换文本文件
    上面的输出表示这是一个 DOS 格式的文件,因为它包含了\r\n
    如何在 Unix 和 DOS 格式之间转换文本文件如何在 Unix 和 DOS 格式之间转换文本文件

    如何在 Linux 上安装 dos2unix

    CentOS中安装dos2unix:

    [root@server1 ~]# yum -y install dos2unix
    

    Ubuntu中安装dos2unix:

    $ sudo apt install dos2unix
    
    如何将 DOS 文件转换为 UNIX 格式

    以下命令将“windows.txt”文件从 DOS 格式转换为 Unix 格式。这个文件的修改就是把文件每一行的“\r”去掉。

    [root@server1 ~]# dos2unix windows.txt 
    dos2unix: converting file windows.txt to Unix format...
    

    使用dos2unix命令将覆盖原始文件。

    使用od命令查看,可以看到\r\n已经转换为\n了。
    如何在 Unix 和 DOS 格式之间转换文本文件如何在 Unix 和 DOS 格式之间转换文本文件
    如果要保留原始文件,请使用以下命令。这会将转换后的输出保存为新文件:

    [root@server1 ~]# dos2unix -n windows.txt unix.txt
    dos2unix: converting file windows.txt to file unix.txt in Unix format...
    

    如何在 Unix 和 DOS 格式之间转换文本文件如何在 Unix 和 DOS 格式之间转换文本文件

    如何使用 tr 命令将 DOS 文件转换为 UNIX 格式

    可以使用 tr 命令将 DOS 文件转换为 Unix 格式,如下所示:

    [root@server1 ~]# tr -d '\r' < windows.txt > unix.txt
    

    上面命令使用-d选项删除\r回车符。
    如何在 Unix 和 DOS 格式之间转换文本文件如何在 Unix 和 DOS 格式之间转换文本文件
    注意:不能使用 tr 命令将文件从 Unix 格式转换为 DOS 格式。

    如何使用 awk 命令将 DOS 文件转换为 UNIX 格式

    以下使用 awk 命令格式将 DOS 文件转换为 Unix 格式:

    [root@server1 ~]# awk '{ sub("\r$", ""); print }' windows.txt > unix.txt
    

    如何在 Unix 和 DOS 格式之间转换文本文件如何在 Unix 和 DOS 格式之间转换文本文件
    上面命令使用awk命令的sub()函数,将以\r结尾的替换为空。

    如何将 UNIX 文件转换为 DOS 格式

    当将文件从 UNIX 转换为 DOS 格式时,它会在每一行中添加一个回车符( \r )。

    [root@server1 ~]# unix2dos unix.txt 
    

    如何在 Unix 和 DOS 格式之间转换文本文件如何在 Unix 和 DOS 格式之间转换文本文件
    上面命令操作之后,可以看到将unix格式的转换成dos格式了。

    www.51cto.com/it/news/2019/1230/17971.html
    news.163.com/17/1212/09/D5EQJ2A400014AEE.html
    news.163.com/17/0606/10/CM89AAKB00018AOP.html

    如果需要保留原文件,可以使用-n选项。

    [root@server1 ~]# unix2dos -n unix.txt windows.txt 
    unix2dos: converting file unix.txt to file windows.txt in DOS format...
    
    如何使用 awk 命令将 UNIX 文件转换为 DOS 格式

    以下使用 awk 命令将 UNIX 文件转换为 DOS 格式。下面使用 awk 命令将“unix.txt”文件转换为 DOS 格式文件“windows.txt”。

    [root@server1 ~]# awk 'sub("$", "\r")' unix.txt > windows.txt 
    

    如何在 Unix 和 DOS 格式之间转换文本文件如何在 Unix 和 DOS 格式之间转换文本文件

    总结

    本文介绍如何在 Unix 和 DOS 格式之间转换文本文件。

  • 相关阅读:
    Jmeter使用实践-接口diff测试
    Jmeter发送HTTPS请求
    Jmeter使用实践- 基础介绍
    Jmeter性能测试工具的使用(Web性能测试)
    使用JMeter创建FTP测试计划
    Jmeter引用cookies进行登录实战
    Jmeter: PATCH方法无法发送参数的暂时解决方法
    Springboot整合Freemarker
    Springboot整合Jsp
    Springboot文件上传
  • 原文地址:https://www.cnblogs.com/linuxprobe/p/15781243.html
Copyright © 2020-2023  润新知