DOS/Windows和Linux/Unix的文件格式转换
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,DOS/Windows和Linux/Unix的文件换行回车格式不同,基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行。1)、把D
千家信息网最后更新 2026年11月01日DOS/Windows和Linux/Unix的文件格式转换DOS/Windows和Linux/Unix的文件换行回车格式不同,基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行。
1)、把Dos/Windows下的文件移至Linux/Unix系统
虽然很多程序不在乎 DOS/Windows 格式的 CR/LF 文本文件,但是有几个程序却在乎 -- 最著名的是 bash,只要一遇到回车,它就会出问题。以下 sed 调用将把 DOS/Windows 格式的文本转换成可信赖的 UNIX 格式:
$ sed -e 's/.$//' mydos.txt > myunix.txt
该脚本的工作原理很简单:替代规则表达式与一行的最末字符匹配,而该字符恰好就是回车。我们用空字符替换它,从而将其从输出中彻底删除。如果使用该脚本并注意到已经删除了输出中每行的最末字符,那么,您就指定了已经是 UNIX 格式的文本文件。也就没必要那样做了!
2)、把Linux/UNIX 文本移至 Windows 系统,使用以下脚本执行必需的格式转换:
$ sed -e 's/$/\r/' myunix.txt > mydos.txt
在该脚本中,'$' 规则表达式将与行的末尾匹配,而 '\r' 告诉 sed 在其之前插入一个回车。在换行之前插入回车,立即,每一行就以 CR/LF 结束。请注意,仅当使用 GNU sed 3.02.80 或以后的版本时,才会用 CR 替换 '\r'。
3)使用dos2unix和unix2dos命令,这种方法最简单。
在window上随便创建一个文件Noname2.txt,内容如下:
sfadadfad
sfasd
fads
fasdfads
在Linux上用hexdump工具进行查看:
A52>hexdump Noname2.txt
0000000 6673 6461 6461 6166 0d64 730a 6166 6473
0000010 0a0d 6166 7364 0a0d 6166 6473 6166 7364
0000020 0a0d
0000022
用dos2unix工具转换后:
A52>dos2unix Noname2.txt
dos2unix: converting file Noname2.txt to UNIX format ...
A52>hexdump Noname2.txt
0000000 6673 6461 6461 6166 0a64 6673 7361 0a64
0000010 6166 7364 660a 7361 6664 6461 0a73
000001e
再使用unix2dos转换回去:
A52>unix2dos Noname2.txt
unix2dos: converting file Noname2.txt to DOS format ...
A52>hexdump Noname2.txt
0000000 6673 6461 6461 6166 0d64 730a 6166 6473
0000010 0a0d 6166 7364 0a0d 6166 6473 6166 7364
0000020 0a0d
0000022
1)、把Dos/Windows下的文件移至Linux/Unix系统
虽然很多程序不在乎 DOS/Windows 格式的 CR/LF 文本文件,但是有几个程序却在乎 -- 最著名的是 bash,只要一遇到回车,它就会出问题。以下 sed 调用将把 DOS/Windows 格式的文本转换成可信赖的 UNIX 格式:
$ sed -e 's/.$//' mydos.txt > myunix.txt
该脚本的工作原理很简单:替代规则表达式与一行的最末字符匹配,而该字符恰好就是回车。我们用空字符替换它,从而将其从输出中彻底删除。如果使用该脚本并注意到已经删除了输出中每行的最末字符,那么,您就指定了已经是 UNIX 格式的文本文件。也就没必要那样做了!
2)、把Linux/UNIX 文本移至 Windows 系统,使用以下脚本执行必需的格式转换:
$ sed -e 's/$/\r/' myunix.txt > mydos.txt
在该脚本中,'$' 规则表达式将与行的末尾匹配,而 '\r' 告诉 sed 在其之前插入一个回车。在换行之前插入回车,立即,每一行就以 CR/LF 结束。请注意,仅当使用 GNU sed 3.02.80 或以后的版本时,才会用 CR 替换 '\r'。
3)使用dos2unix和unix2dos命令,这种方法最简单。
在window上随便创建一个文件Noname2.txt,内容如下:
sfadadfad
sfasd
fads
fasdfads
在Linux上用hexdump工具进行查看:
A52>hexdump Noname2.txt
0000000 6673 6461 6461 6166 0d64 730a 6166 6473
0000010 0a0d 6166 7364 0a0d 6166 6473 6166 7364
0000020 0a0d
0000022
用dos2unix工具转换后:
A52>dos2unix Noname2.txt
dos2unix: converting file Noname2.txt to UNIX format ...
A52>hexdump Noname2.txt
0000000 6673 6461 6461 6166 0a64 6673 7361 0a64
0000010 6166 7364 660a 7361 6664 6461 0a73
000001e
再使用unix2dos转换回去:
A52>unix2dos Noname2.txt
unix2dos: converting file Noname2.txt to DOS format ...
A52>hexdump Noname2.txt
0000000 6673 6461 6461 6166 0d64 730a 6166 6473
0000010 0a0d 6166 7364 0a0d 6166 6473 6166 7364
0000020 0a0d
0000022
文件
格式
文本
脚本
一行
字符
工具
末尾
程序
系统
表达式
规则
输出
不同
著名
必要
内容
原理
只有
可信
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云之行互联网科技
互联网科技工作委员会主任
科技金融是不是互联网金融
圆梦互联网科技
互联网科技资迅
没上市的科技互联网公司
智网互联网科技
互联网与未来科技
苏州互联网科技贷款公司
电子科技大学互联网
人人互联网科技是培训
盛创互联网科技有限公司
汉立互联网科技有限公司联系电话
北京三清互联网科技
团飞科技与伯堂互联网服务平台
互联网金融中的现代科技
苏州铭阳互联网科技有限公司
华夏恒生互联网科技013171
广西科技产业互联网是什么
第三届互联网大会安防黑科技
广州为想互联网科技有限公司
融贸通互联网科技
深圳期待互联网科技
卫星互联网科技股票
受益于互联网科技的高速发展
广州新华互联网科技学校电竞方面
智帮互联网科技公司最近动向
云南互联网科技学费
好易买互联网科技
众联互联网络科技