首页 > 其他 > 详细

dos2unix

时间:2021-05-22 23:55:08      阅读:27      评论:0      收藏:0      [点我收藏+]

Linux系统必备工具dos2unix

dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n。

而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转换为Windows格式文件的命令。

使用示例:

在使用前要先安装dos2unix?

yum?install?-y?dos2unix

准备一个windows编写的文件

[root@aliyun?~]#?cat?windows?
#!/bin/bash
date

准备一个linux编写的文件

[root@aliyun?~]#?cat?show.sh?
#!/bin/bash
date

分别启动脚本

[root@aliyun?~]#?sh?show.sh?
Wed?Nov?27?10:26:42?CST?2019[root@aliyun?~]#?sh?windows?
date:?invalid?date?‘\r’

提示有一个无效的字符 ‘\r‘ 这是因为windows下的换行符是\n\r一起,而linux下的换行符只有\n

再比较两个文件的类型

[root@aliyun?~]#?file?show.sh?
show.sh:?Bourne-Again?shell?script,?ASCII?text?executable
[root@aliyun?~]#?file?windows?
windows:?Bourne-Again?shell?script,?UTF-8?Unicode?text?executable,?with?CRLF?line?terminators

提示两个文件的字符集不同linux编写的文件字符集是ASCII,而windows的是UTF-8

现在使用dos2unix转换一下windows编写的文件

dos2unix?-n?windows?win2unix?
dos2unix:?converting?file?windows?to?file?win2unix?in?Unix?format?...
[root@aliyun?~]#?file?windows?
windows:?Bourne-Again?shell?script,?UTF-8?Unicode?text?executable

可以看到的是那句?with CRLF line terminators 不见了,但是字符编码还是utf-8,那么文件的格式有没有变呢?

[root@aliyun?~]#?sh?win2unix?
Wed?Nov?27?10:54:46?CST?2019

可以看到格式变了,能正常打印,但是字符集的问题,先留在这里

参考链接https://www.cnblogs.com/Tunan-Ki/p/11940575.html


dos2unix

原文:https://blog.51cto.com/lookingdream/2802915

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!