打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

翻译整理:逄增宝 /源自:http://33h.co/9r3vc

作者:Magesh Maruthamuthu

本文介绍如何在 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


上面的输出表示这是一个 DOS 格式的文件,因为它包含了\r\n


如何在 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了。

如果要保留原始文件,请使用以下命令。这会将转换后的输出保存为新文件:
[root@server1 ~]# dos2unix -n windows.txt unix.txt
dos2unix: converting file windows.txt to file unix.txt in Unix format...

如何使用 tr 命令将 DOS 文件转换为 UNIX 格式
可以使用 tr 命令将 DOS 文件转换为 Unix 格式,如下所示:
[root@server1 ~]# tr -d '\r' < windows.txt > unix.txt
上面命令使用-d选项删除\r回车符。

注意:不能使用 tr 命令将文件从 Unix 格式转换为 DOS 格式。

如何使用 awk 命令将 DOS 文件转换为 UNIX 格式
以下使用 awk 命令格式将 DOS 文件转换为 Unix 格式:
[root@server1 ~]# awk '{ sub('\r$', ''); print }' windows.txt > unix.txt


上面命令使用awk命令的sub()函数,将以\r结尾的替换为空。

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

当将文件从 UNIX 转换为 DOS 格式时,它会在每一行中添加一个回车符( \r )。
[root@server1 ~]# unix2dos unix.txt


上面命令操作之后,可以看到将unix格式的转换成dos格式了。
如果需要保留原文件,可以使用-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


总结

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何用Linux命令转换文件格式?linux运维
一文搞清UNIXLinux与Windows文件换行符格式差异
C 语言 fopen参数问题
关于linux和windows的CR, LF, CR/LF 回车 换行问题
LINUX/UNIX下的回车换行与WINDOWS下的区别
Windows&Unix文件格式解密,空格与tab转换及其相关工具
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服