原创:解决执行dos2unix 和unix2dos命令时得到的错误

发表于:2007-05-26来源:作者:点击数: 标签:
这是sun的一个 bug ! 方法1:忽略该错误 方法2:使用-437选项 race 回复于:2004-06-06 00:33:25 请写详细点。 jiadingjun 回复于:2004-06-06 01:05:57 [quote:0921a0d32b="race"]请写详细点。[/quote:0921a0d32b] 在SunOS下执行dos2 unix 或者unix2dos时

这是sun的一个bug
方法1:忽略该错误
方法2:使用 -437 选项

 race 回复于:2004-06-06 00:33:25
请写详细点。

 jiadingjun 回复于:2004-06-06 01:05:57
[quote:0921a0d32b="race"]请写详细点。[/quote:0921a0d32b]
在SunOS下执行dos2unix或者unix2dos时,尽管命令执行成功但会得到提示:
could not open /dev/kbd to get keyboard type US keyboard assumed
could not get keyboard type US keyboard assumed

解决办法参看第一个帖子!

 amiescort 回复于:2004-06-06 01:23:00
对了,顺便一问:
偶希望去掉文件后的^M,但是用dos2unix好像不行啊

 jiadingjun 回复于:2004-06-06 04:27:20
[quote:6ff54a2ec1="amiescort"]对了,顺便一问:
偶希望去掉文件后的^M,但是用dos2unix好像不行啊[/quote:6ff54a2ec1]
在我这儿可以呀,你是在什么操作系统下?

 Philmoon 回复于:2004-06-06 11:11:37
[quote:dc3d86e851="amiescort"]对了,顺便一问:
偶希望去掉文件后的^M,但是用dos2unix好像不行啊[/quote:dc3d86e851]

那个^M是DOS(WINDOWS)文件上传时没有将回车+换行符转换而产生的。如果使用FTP上传的话,对这样的文本文件,应该使用ASCII方式,这样上传时FTP会根据两边的文件系统的格式进行必要的转换,上传后的UNIX文件中就没有那个^M了。这就是FTP中那个“P”的作用(Protocol,协议)。
对二进制文件(图形、压缩、执行等),FTP传送时一定要用BINARY方式,不然它会自作聪明地转换的。
如果是采用自己的通信软件传送,那么在处理DOS的回车+换行符(\r\n,16进的0Dh 0Ah)时把\r(0Dh)去掉不传就可以了。

 zhao2001 回复于:2004-06-09 16:11:13
这是用户权限的问题,改一下就ok了

 amiescort 回复于:2004-06-09 17:29:08
[quote:30f4ee3af7="amiescort"]对了,顺便一问:
偶希望去掉文件后的^M,但是用dos2unix好像不行啊[/quote:30f4ee3af7]

自己引用自己是不是很奇怪? :em14: 不管了。
问题我知道了,是没有把结果输出,偶以为是将原来的文件去掉^M呢。其实是将结果输出到另外的文件。

 Ryker 回复于:2004-06-09 17:46:29
试试vi
按下esc进入命令状态:
输入g/^M/s///g
(按ctrl  V和ctrl M完成^M的输入是重点)

 lmhcn 回复于:2004-06-11 11:12:10
上传前将*.txt文件转换成*.prn文件,然后再上传,bin或ascii都可以。

原文转自:http://www.ltesting.net