如何在 Unix 和 DOS 格式之间转换文本文件
翻译整理:逄增宝 /源自:http://33h.co/9r3vc
作者:Magesh Maruthamuthu
本文介绍如何在 Unix 和 DOS 格式之间转换文本文件。DOS 文本文件带有回车符( \r )和换行符( \n )作为它们的换行符,而 Unix 文本文件只有( \n )换行符作为换行符。
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
\r\n
。如何在 Linux 上安装 dos2unix
[root@server1 ~]# yum -y install dos2unix
$ sudo apt install dos2unix
如何将 DOS 文件转换为 UNIX 格式
[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 格式,如下所示:[root@server1 ~]# tr -d '\r' < windows.txt > unix.txt
-d
选项删除\r
回车符。tr
命令将文件从 Unix 格式转换为 DOS 格式。awk
命令格式将 DOS 文件转换为 Unix 格式:[root@server1 ~]# awk '{ sub('\r$', ''); print }' windows.txt > unix.txt
如何将 UNIX 文件转换为 DOS 格式
[root@server1 ~]# unix2dos unix.txt
-n
选项。[root@server1 ~]# unix2dos -n unix.txt windows.txt
unix2dos: converting file unix.txt to file windows.txt in DOS format...
[root@server1 ~]# awk 'sub('$', '\r')' unix.txt > windows.txt
总结
赞 (0)