DOS/Windows和Linux/Unix的文件格式转换
发表于:2025-02-10 作者:千家信息网编辑
千家信息网最后更新 2025年02月10日,DOS/Windows和Linux/Unix的文件换行回车格式不同,基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行。1)、把D
千家信息网最后更新 2025年02月10日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安全错误
数据库的锁怎样保障安全
苹果13验证失败连接服务器超时
域名hold服务器也打不开
太原国产信创服务器
c 连接数据库出现权限
网络安全工程师未来发展
软件开发主要方法有哪些
国家网络安全宣传周截图
如何配置dhcp服务器
维普大数据库
阿比迪斯服务器
晋城网络安全工作会议
sql服务器的管理操作
局网络安全总结报告
新生数据库
祥柜网络技术有限公司
游戏软件开发过程的书
2017 年61网络安全法
软件开发规范重要性
酒管公司软件开发
荆州后浪网络技术有限公司
火影忍者服务器合并
数据库的构成单元
28岁学习软件开发
海南多功能软件开发制造价格
无数据库分类目录网站源码
软件开发总体设计原则
国内承认的网络安全证书
义乌网络安全教育平台
丰台区有名的软件开发不二之选
数据库全量同步解决方案