# od -bc windows.txt 0000000 125 156 151 170 040 151 163 040 141 040 146 162 145 145 040 157 U n i x i s a f r e e o 0000020 160 145 156 163 157 165 162 143 145 040 157 160 145 162 141 164 p e n s o u r c e o p e r a t 0000040 151 156 147 040 163 171 163 164 145 155 015 012 123 165 160 145 i n g s y s t e m \r \n S u p e 0000060 162 040 143 157 155 160 165 164 145 162 163 040 141 162 145 040 r c o m p u t e r s a r e 0000100 162 165 156 156 151 156 147 040 157 156 040 125 116 111 130 015 r u n n i n g o n U N I X \r 0000120 012 071 065 045 040 157 146 040 167 145 142 163 151 164 145 163 \n 9 5 % o f w e b s i t e s 0000140 040 141 162 145 040 162 165 156 156 151 156 147 040 157 156 040 a r e r u n n i n g o n 0000160 114 151 156 165 170 040 117 123 015 012 101 156 171 164 150 151 L i n u x O S \r \n A n y t h i 0000200 156 147 040 143 141 156 040 142 145 040 144 157 156 145 040 157 n g c a n b e d o n e o 0000220 156 040 114 151 156 165 170 015 012 n L i n u x \r \n 0000231
上面的输出清楚地表明这是一个 DOS 格式的文件,因为它包含了转义序列 \r\n。
同时,当你在终端上打印文件输出时,你会得到下面的输出:
1 2 3 4 5 6
# cat windows.txt Unix is a free opensource operating system Super computers are runningon UNIX 95% of websites are runningon Linux OS Anything can be done on Linux
# cat windows.txt 0000000125156151170040151163040141040146162145145040157 U n i x i s a f r e e o 0000020160145156163157165162143145040157160145162141164 p e n s o u r c e o p e r a t 0000040151156147040163171163164145155012123165160145162 i n g s y s t e m \n S u p e r 0000060040143157155160165164145162163040141162145040162 c o m p u t e r s a r e r 0000100165156156151156147040157156040125116111130012071 u n n i n g o n U N I X \n 9 0000120065045040157146040167145142163151164145163040141 5 % o f w e b s i t e s a 0000140162145040162165156156151156147040157156040114151 r e r u n n i n g o n L i 0000160156165170040117123012101156171164150151156147040 n u x O S \n A n y t h i n g 0000200143141156040142145040144157156145040157156040114 c a n b e d o n e o n L 0000220151156165170012 i n u x \n 0000225
上面的命令将覆盖原始文件。
如果你想保留原始文件,请使用以下命令。这将把转换后的输出保存为一个新文件。
1 2 3
# dos2unix -n windows.txt unix.txt dos2unix: converting file windows.txt tofile unix.txt in Unix format …
1a)如何使用 tr 命令将 DOS 文件转换为 UNIX 格式。
正如文章开头所讨论的,你可以如下所示使用 tr 命令将 DOS 文件转换为 Unix 格式。
1 2
Syntax: tr -d '\r' < source_file > output_file
下面的 tr 命令将 DOS 格式的文件 windows.txt 转换为 Unix 格式文件 unix.txt。