+ -
当前位置:首页 → 问答吧 → shell里如何判断文件格式是unix还是dos格式

shell里如何判断文件格式是unix还是dos格式

时间:2011-03-03

来源:互联网

本帖最后由 gumuzhiyu 于 2011-03-03 15:23 编辑

前段时间一个脚本打开里面都有"^M”这种东西,转化成dos格式的了。我想判断下这文件是unix还是dos格式,看网上有人用
file filename|grep -q CRLF && echo file is dos format||echo file is unix format
这个命令,自己测了下可是每次都输出是unix,然后我又写了个小脚本,用UE转转化成dos格式,再使用刚才命令还是unix是不是这个命令不可以?

作者: gumuzhiyu   发布时间: 2011-03-03

# Unix环境:转换Unix的新行符(LF)为DOS格式。
sed "s/$/`echo -e \\\r`/"        # 在ksh下所使用的命令
sed 's/$'"/`echo \\\r`/"         # 在bash下所使用的命令
sed "s/$/`echo \\\r`/"           # 在zsh下所使用的命令
sed 's/$/\r/'                    # gsed 3.02.80 及更高版本

作者: chenbin200818   发布时间: 2011-03-03

你用ue转换的,很有可能是 ASCII text 格式的,所以你的脚本判断不出来了。
我用的pspad创建的文件dos文件就是这个格式的。

如果你想检查这个脚本的准确性,可以用unix2dos命令转换一下

[root@bill ~]# file testdos.txt
testdos.txt: ASCII text
[root@bill ~]# unix2dos testdos.txt
unix2dos: converting file testdos.txt to DOS format ...
[root@bill ~]# file testdos.txt
testdos.txt: ASCII text, with CRLF line terminators

作者: dzhxc   发布时间: 2011-03-03

我这里可以:
  1. unix2dos file
  2. unix2dos: converting file file to DOS format ...
  3. file file |grep -q  CRLF && echo dos || echo unix
  4. dos
  5. dos2unix file
  6. dos2unix: converting file file to UNIX format ...
  7. file file |grep -q  CRLF && echo dos || echo unix
  8. unix
复制代码

作者: yinyuemi   发布时间: 2011-03-03

我用UE转的一个脚本测的
root@moo:/home>cat -v a.sh
#!/bin/ksh^M
echo "111111"^M
echo "222222"^M
echo "333333"^M
echo "444444"^M
echo "555555"^M
echo "666666"^M
echo "777777"^M
echo "888888"^M
echo "999999"^M

root@moo:/home>file a.sh | grep -q CRLF && echo file is dos format || echo file is unix format
file is unix format

但是如果把脚本头的#!/bin/ksh这行删了就显示
file is dos format
这是怎么回事?

作者: gumuzhiyu   发布时间: 2011-03-03

使用命令: file 文件名 。会显示出这个文件是什么类型的文件。例如:
[root@danoolive ~]# file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped

就看出来了。如果是windows文件会显示dos类型.....

作者: 南极雨   发布时间: 2011-03-03

转换简单,只要把所有的换行符统一。但是判断就不是绝对的了。

你说这种文件是什么格式的。

下载 (12.94 KB)
2011-03-03 15:54

作者: ziyunfei   发布时间: 2011-03-03

热门下载

更多