对于经常在Unix和Windows下同时进行软件开发的人来说,文件格式转换是进行需要做的事,由于Unix操作系统下换行符是字符\n, 而Windows操作系统下换行符是字符\r\n,所以在这两个操作系统下传输文件时需要进行格式转换,Unix环境下的文件格式转换工具有dos2unix命令,Windows环境下可以用UltraEdit进行转换,但是平常我们一般都是用它们进行单个文件的转换,如果要进行批量转换,Unix下需要自己写shell脚本,Windows环境下需要进行批量替换,具体方法如下:
1. Unix环境下Dos格式文件批量替换为Unix文件
#!/bin/bash
showUsage()
{
echo "Usage: dos2unixdir [destdir]"
exit 0
}
#!/bin/bash
showUsage()
{
echo "Usage: dos2unixdir [destdir]"
exit 0
}
dir=$PWD
if [ $# -gt 1 ]
then
showUsage
fi
if [ $# -gt 1 ]
then
showUsage
fi
if [ $# -gt 0 ]
then
dir=$1
fi
then
dir=$1
fi
for i in `find $dir`
do
if [ ! -d $i ]
then
echo "processing file..." $i
dos2unix $i $i
fi
done
do
if [ ! -d $i ]
then
echo "processing file..." $i
dos2unix $i $i
fi
done
2. Windows环境下Dos格式文件批量替换为Unix文件
在UltraEdit中选择Search | Search in files菜单,在Find框中填写^p(表示DOS文件中的回车换行符号),在Replace with中输入^n(表示UNIX文件中的回车换行符号)。然后选择文件目录进行批量替换,可以进行扩展名过滤