DOS、Mac 和 Unix 文件格式
DOS、Mac 和 Unix 文件格式 相信很多朋友都碰到过这三种文件格式的互换问题,今日又碰到这个问题,忽然想 寻根问底,于是整理了本文档。 文件格式区别 我们先看看这三个家伙有啥区别。很久以前,人们用老式的电传打字机作为输入设备,它使用 两个字符来另起新行。一个字符把滑动架移回首位 (称为回车,),另一个字符把纸上移一行 (称为换行,)。 当计算机问世后,由于存储器曾经非常昂贵。有些人就认定没必要用两个字符来表示行尾。于是 UNIX 开发者决定他们可以用 一个字符来表示行尾。Apple 开发者规定了用 。 开发 MS-DOS (以及微软视窗) 的那些家伙则决定沿用老式的 。三种行尾格式如下: unix dos mac 这意味着,如果你试图把一个文件从一种系统移到另一种系统,那么你就有换行符方面的麻烦。 转换 有需求就会有动力。在Windows平台,有强大的UltraEdit,它支持DOS、Mac 和 Unix 三种文 件格式的任意互换。在【文件】->【转换】选项卡下有相应的对应选项,很傻很强大。下面我们看看在Unix/Linux平台该如何做呢? 方法一:强大的dos2unix dos2unix filename 方法二:强大的脚本 sed 's/^M//' filename > tmp_filename 其中^M是同时Ctrl+V+M按出来的,表示回车。 或 tr -d "\r" filename 或 cat filename | perl -pe '~s/\r//g' > tmp_filename 方法三:强大的vim vim filename :set fileformat=unix :w 或 vim filename :%s/^M//g :w 与vi不同,vim具有自动识别功能,只需如下设置就可以自动进行转换。不过由于Mac格式比较特殊,vim对mac格式的自动探测可能会出错。请参考: http://vimcdoc.sourceforge.net/doc/usr_23.html vim filename :set fileformats=unix,dos,mac 批量转换 有时候我们可能希望对这种转换进行批量处理。在Windows下有强大的UltraEdit,用全局replace的方法或者建立工程的方法可以批量转换,请参考 http://tech.ddvip.com/2007-10/119380983936863.html 。Windows平台下还有很多相关的小工具,如MultiU2D等,google一下吧。 在Unix/Linux平台下我们就要借助脚本文件或者通道了,实质上是上述几种方法的自动化。下面举几个简单例子,来源自 http://bbs.chinaunix.net/viewthread.php?tid=412957&extra=&page=1 : 脚本1: ls -l | awk '{print $8}' > filename.txt N=1 NN=`wc -l filename.txt | awk '{print $1}'` while [ "$N" -le "$NN" ]; do TempLine=`sed -n "$N"p "filename.txt"` if [ -n "$TempLine" ]; then tmpfilename=$TempLine dos2ux $tmpfilename > file mv file $tmpfilename fi N=$(($N + 1)) done 脚本2: for XFILE in $(egrep -l ^M `find . -name "*.txt";find . -name "*.sql"`) do echo "开始处理文件"$XFILE if [ -s $XFILE ] then TMPFILE=$XFILE.tmp mv $XFILE $TMPFILE tr -d "\r" $XFILE rm $TMPFILE else continue fi done 通道法: find . -type f |xargs -i dos2unix {} 后记 对于Mac格式转换到其他两种格式的方法类似,在类Unix环境下有dos2unix/mac2unix工具。 在计算机世界,格式转换无处不在,如字符格式、压缩格式、网络协议格式、音视频格式等等。所以进行相关工作时,应该多多留意。 转载:http://blog.chinaunix.net/u3/97596/showart_1999657.html

DOS、Mac 和 Unix 文件格式相关推荐

  1. DOS、Mac 和 Unix 文件格式+ UltraEdit使用

    文件格式 区分DOS.Mac 和 Unix分别对应三种系统 从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种 文件模式 区分ASCII模式和Binary模式  通常由系统决定,大多数 ...

  2. dos2unix命令将dos文件转换为unix格式

    使用git 的时候碰到git将unix换行符转换为windows换行符的问题,需要使用dos2unix命令将文件转换为unix格式. dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的 ...

  3. C++编译问题-检测到 Mac 文件格式: 请将源文件转换为 DOS 格式或 UNIX 格式

    问题:检测到 Mac 文件格式:  请将源文件转换为 DOS 格式或 UNIX 格式 不知道原因,但是解决方案如下: 1.将源代码复制到word中,保存. 2.将保存后的代码复制到新建的txt文本中, ...

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

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

  5. linux 文件 dos unix格式,如何查看文件是dos格式还是unix格式的?

    一.背景 由于windows和linux对换行的标识不一样,不同系统的代码传递导致代码格式的改变中可能会带来程序无法正常编译通过的问题.因此根据一些编译的错误提示,可以定位到是文件格式的问题,要对程序 ...

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

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

  7. linux下批量修改文件dos格式为unix格式

    linux下批量修改文件dos格式为unix格式 [问题描述] windows系统下的文件格式和unix下不同,使用ftp等软件上传到unix服务器上的文件都需要转换为unix格式后,才可以使用: 使 ...

  8. linux sheet脚本去掉m,linux下的文本dos格式转unix格式,去除^M符号

    今天工作在处理批量查询的统计需求,由于原始数据是从execl拷贝的文本,通过shell去分析这批数据.等待很久后去取结果,发现查询导出后的数据为空,这下郁闷至极(还有很多事情要做).首先质疑shell ...

  9. nch photopad mac支持哪些文件格式?

    nch photopad mac是一个简洁的Mac照片编辑软件,为用户提供了一系列工具和功能,可用于编辑数码照片和创建个性化的照片拼贴.今天要给大家分享的就是nch photopad mac支持哪些文 ...

最新文章

  1. GAITC 2021智媒论坛丨曹立宏:AI和BI互助发展 智能媒体任重道远
  2. 2017-03-01 Oracle10g的安装与配置使用
  3. Java知识系统回顾整理01基础04操作符02关系操作符
  4. 年轻人原地过年,也不忘搞钱
  5. iOS uuchart 用法
  6. Windows程序设计学习-API-SetBkMode
  7. (转)泊松分布和指数分布:10分钟教程
  8. Advances in adversarial attacks and defenses in computer vision: A survey论文解读
  9. Ubuntu20.04 图片标注工具labelImg
  10. 阳明心学解析——心学本质关系连接
  11. HTML5中多媒体标签之音频标签
  12. 计算机在小学教育教学中的优劣,计算机在小学教学中的应用探析
  13. osg导入模型时,模型全黑的原因及解决方法分析
  14. 固定定位失效问题(position:fixed;固定定位)
  15. C语言展开法和全排列法实现n阶行列式计算
  16. 时空同步图卷积网络:时空网络数据预测的新框架
  17. 客户端socket通信库
  18. 环海陆港今日财经报告
  19. sql优化之查询优化器
  20. 危机!感觉Python开发者要失业了

热门文章

  1. 使用a标签时不用href=““调转页面
  2. c语言中分不分大小写,C语言高级语言程序设计(一)-第四章 程序设计方法-模块化与算法设计.ppt...
  3. 学习笔记四:word2vec和fasttext
  4. python红楼梦人物词频统计_用Python绘制红楼梦词云图,竟然发现了这个!
  5. 业务指标基础分析(excel)--python实现
  6. Go 插件系统,一个凉了快半截的特性?
  7. 【分享】仿东软OA协同办公服务管理源码
  8. qt服务器项目总结报告,ea项目总结报告-20210805131110.docx-原创力文档
  9. playhome的php文件怎么导入,PlayHome导入XNALaraXPS模型教程 PlayHome工作室教程
  10. 设计,看上去很美 wayfarer