最近使用Linux(CentOS)发现,Windows 下的文本到Linux下的vi中可以浏览出现^M,而Linux下的文本到Windows下后发现凡是“回车”部分全是“黑块”,
原因:
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’。

另外还有个方法:

使用命令行工具,如下

unix2dos  filename
dos2unix  filename 

windows与unix文件格式转换相关推荐

  1. Windows应用程序文件格式转换控件LEADTOOLS ePrint Professional

    2019独角兽企业重金招聘Python工程师标准>>> LEADTOOLS ePrint Professional控件是一个多功能一体化文件转换解决方案,它可帮助您将任何Window ...

  2. DOS文件格式 与 UNIX文件格式 转换

    这里阐述两种方法: 1. 使用VIM的方法 在vim下 使用如下命令 :set fileformat=unix 就可转换成 unix 文件格式, 也可使用其缩写形式命令  :set ff=unix 直 ...

  3. Windows Unix 文件格式之迷, 空格、回车换行、tab 转换及其相关工具 .

    http://casec12.javaeye.com/blog/523160 今天,我总算搞清楚"回车"(carriage return)和"换行"(line ...

  4. 如何在DOS/Windows和Linux/Unix之间进行文件格式转换?

    如何在DOS/Windows和Linux/Unix之间进行文件格式转换?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-c ...

  5. windows文件 linux cr,DOS/Windows和Linux/Unix间的文件格式转换

    做无线传感器网络自己生产拓扑的时候一直碰到看起来相同的文件被解析成拓扑的时候却不同,一直摸不清原因,居然是这个问题,还好看见了这篇文章. DOS/Windows和Linux/Unix的文件换行回车格式 ...

  6. windows编辑linux系统文件格式,DOS/Windows和Linux/Unix间的文件格式转换

    做无线传感器网络自己生产拓扑的时候一直碰到看起来相同的文件被解析成拓扑的时候却不同,一直摸不清原因,居然是这个问题,还好看见了这篇文章. DOS/Windows和Linux/Unix的文件换行回车格式 ...

  7. vim windows linux文件格式转换

    vim windows linux文件格式转换 set ff?     #显示当前文件格式 set ff=unix     #设置成unix格式 set ff=dos #设置成dos格式 posted ...

  8. DOS文件转换成UNIX文件格式详解

    dos格式文件传输到unix系统时,会在每行的结尾多一个^M,当然也有可能看不到,但是在vi的时候,会在下面显示此文件的格式,比如 "dos.txt" [dos] 120L, 25 ...

  9. Windows Unix 文件格式之迷

    (1)问题提出 我们可能会遇到过这样一些困惑: A, 如何查看一个文件或数据流的二进制格式(以十六进制格式显示)? B,为什么在 windows下编辑的 shell 脚本在 Unix下不能执行?为什么 ...

最新文章

  1. Qt之QHeaderView排序
  2. 今日arXiv精选 | 11篇EMNLP 2021最新论文
  3. P3250 [HNOI2016]网络(利用堆建线段树 + 树剖)
  4. EMACS 中文显示为方框
  5. 不要再写这样的神级代码了!
  6. 《深入理解分布式事务》第一章 事务的基本概念
  7. 西门子s7 计算机通讯,西门子s7-200 plc通讯连不上怎么办?
  8. iPhone 大降价;谷歌再爆丑闻;京东云金山云回应合并传闻 | 极客头条
  9. Settings点击Location(位置)后右上角的开关button不会消失
  10. Linux - Ubuntu下JDK配置
  11. 在HttpHandlers中使用Session
  12. 5.4 Components -- Wrapping Content in A Component(在组件中包裹内容)
  13. c语言数组的概念和指针的加减使用
  14. ISCC2021-WP合集
  15. 人脸识别中常用的人脸检测和人脸对齐
  16. node服务端生成七牛token
  17. 什么是系统时钟?什么是时钟系统?时钟系统有什么作用?
  18. 什么是期货、现货?//2021-2-1
  19. 【Redis】实现附近人功能
  20. 电商生鲜网站开发(四)——后台开发:商品模块-图片上传/多条件拼接sql

热门文章

  1. 大叔遇上御姐丈母娘【十】
  2. composer 自定安装包路径
  3. 获得淘宝商品详情原数据接口调用展示
  4. 软考是什么?软考有什么作用?
  5. 微信公众号小程序如何做流媒体视频直播?
  6. 大学英语综合教程二 Unit 3 课文内容英译中 中英翻译
  7. linux两个进程同时打开串口,linux串口操作及设置详解
  8. 前端优化首屏加载速度
  9. UI设计和平面设计区别是什么?
  10. 【数据集】Kinetics-600 dataset介绍