快速业务通道

Dos文件到Unix文件批量转换小方法

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-15

  对于经常在Unix和Windows下同时进行软件开发的人来说,文件格式转换是进行需要做的事,Unix操作系统下换行符是字符n, 而Windows操作系统下换行符是字符rn,在这两个操作系统下传输文件时需要进行格式转换,Unix环境下的文件格式转换工具有dos2unix命令,Windows环境下可以用UltraEdit进行转换,但是平常我们一般都是用它们进行单个文件的转换,如果要进行批量转换,Unix下需要自己写shell脚本,Windows环境下需要进行批量替换,具体方法如下:1. Unix环境下Dos格式文件批量替换为Unix文件

  #!/bin/bash

  showUsage()

  {

  echo "Usage: dos2unixdir [destdir]"

  exit 0

  }dir=$PWD

  if [ $# -gt 1 ]

  then

  showUsage

  fiif [ $# -gt 0 ]

  then

  dir=$1

  fifor i in `find $dir`

  do

  if [ ! -d $i ]

  then

  echo "processing file..." $i

  dos2unix $i $i

  fi

  done

  或

  dos2unix 实际上就是把文本文件里面的^M删除,我一般懒得用这个命令,vi里面用一个命令(:%s/^m//g)删除即可.

  用法举例:

  dos2unix a.txt b.txt

  要把一批文件都dos2unix,可以用下面的for语句:

  for f in *.txt 或for f in *

  do

  dos2unix $f

  done

  注:*表示当前目录中所有文件的名字

  2. Windows环境下Dos格式文件批量替换为Unix文件在UltraEdit中选择Search | Search in files菜单,在Find框中填写^p(表示DOS文件中的回车换行符号),在Replace with中输入^n(表示UNIX文件中的回车换行符号).然后选择文件目录进行批量替换,可以进行扩展名过滤

  http://blog.chinaunix.net/u3/94271/showart_2291548.html

  关于从UNIX到DOS格式的批量修改

  从西门子bsc下载的asc文件可能都是UNIX格式的,我们在处理的时候需要把它们都转换成dos格式,这就需要一个批量转换的过程.

  要明确2个问题:

  1.UNIX格式和DOS格式就我所知区别只是在于回车这个字符.UNIX格式下,每行的回车都是用一个0x0a字符表示的;而DOS格式下,每行的回车都是用0x0d0a两个字符表示的.我们只需要替换这个即可.

  2.UltraEdit本身就具备多文件批量替换的功能.

  我们可以这样做:

  1.打开UltraEdit

  2.选择在文件中替换

  3.在查找中输入: ^n (代表在UNIX格式下的回车字符)

  4.在替换中输入: ^P (代表在DOS格式下的回车字符)

  5.选择文件类型为*.asc

  6.选择好需要转换的所有文件所在目录

  7.OK点全部替换

  这样就大功告成了,是不是超简单呢?根本需要写什么批处理程序.关键是明白我上面提到的2点就OK了

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号