shell里如何判断文件格式是unix还是dos格式
时间:2011-03-03
来源:互联网
前段时间一个脚本打开里面都有"^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
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
我用的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
- unix2dos file
- unix2dos: converting file file to DOS format ...
- file file |grep -q CRLF && echo dos || echo unix
- dos
- dos2unix file
- dos2unix: converting file file to UNIX format ...
- file file |grep -q CRLF && echo dos || echo unix
- unix
作者: yinyuemi 发布时间: 2011-03-03
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
[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
你说这种文件是什么格式的。

作者: ziyunfei 发布时间: 2011-03-03
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28