乐趣区

关于centos:如何在-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 格局了。

如果须要保留原文件,能够应用 - 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 格局之间转换文本文件。

退出移动版