首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当文件保存在Kedit for windows中时,unix2dos命令没有做什么更改?

当文件保存在Kedit for windows中时,unix2dos命令没有做什么更改?
EN

Stack Overflow用户
提问于 2012-03-26 17:56:17
回答 2查看 242关注 0票数 0

所以我有个奇怪的问题。我已经写了一个重新格式化数据文件的脚本。我基本上是用正确的列顺序、间距等来创建新的文件。然后我unix2dos这些文件(我格式化这些文件的程序是窗口的DIPS,我假设这些文件应该是ansi)。但是,当我去打开DIPS程序中的文件时,会发生错误,并且文件不会打开。

当我通过DIPS程序创建相同类型的数据文件并在便笺簿中打开它时,它与我用脚本创建的数据文件完全匹配。

另一方面,如果我首先打开用我的脚本在Kedit中创建的数据文件,保存它们,然后在DIPS程序中打开它们,一切都正常。

我的问题是,在Kedit中,储蓄可能做什么,而unix2dos却做不到?

(同样,如果我尝试使用便笺簿或字垫来保存而不是Kedit,文件不会以DIPS打开)

下面是使用unix中的diff命令创建的

“1,161,16

*此文件由Windows的Dips生成。

*以下两行是此文件的标题。

巴拿马科布雷

钻孔B 11106-GT

横穿数:0

  • 全球方向是: DIP/DIPDIRECTION0.000000 (斜度)无额外柱的QUANTITYNumber为:0

--

*此文件由Windows的Dips生成。

*以下两行是此文件的标题。

巴拿马科布雷

钻孔B 11106-GT

横穿数:0

  • 全球方向是: DIP/DIPDIRECTION0.000000 (斜度)无额外柱的QUANTITYNumber为:0

18c18

--

440 c440

--

第442c442号

-1

-1

任何帮助都将不胜感激!谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-28 22:02:39

好吧!弄明白了。

简单地说,当您unix2dos您的文件,您不会删除任何空格字符之间的最后一个字母在一行和行中断字符。在Kedit中保存时,需要将行中的最后一个字母与断行字符之间的空格去掉。

在我的脚本中,我有一个糟糕的编程实践,在其中我写了这样一个字符串;

“这是一个示例字符串”>> outfile.txt

字符计数为32,如果您可以看到断线字符(chr(10)),则行将读取;

这是一个示例字符串。

如果您使用unix2dos outfile.txt,则该行看起来与上面相同,但具有不同的断线字符。但是,当您将文件放入Kedit并保存它时,现在字符计数为25,行如下所示;

这是一个示例字符串。

这是因为Kedit没有保留行尾的空格。它将返回或换行字符放置在最后一个字母或一行中的“非空格”字符。

因此,读取文字输入(如DIPS (我猜)或更广泛使用的AutoCAD脚本)的程序在返回字符之前的额外空格将有一个真正的问题。基本上,在AutoCAD脚本中,行中的空格被视为返回字符。因此,如果在一行的末尾有10个额外的空格,它将被视为10次返回,而不是您可能想要的。

哦,如果这帮了你的忙,或者它是好的,请给我投一票!

票数 1
EN

Stack Overflow用户

发布于 2012-03-26 18:04:36

unix2dos将每行末尾的断线字符从unix换行(10)转换为dos换行(13、10)。

Kedit可能会更改文件的编码 (从ansi更改为UTF-8)。

您可以使用艾特夫实用程序(在linux框上)更改文件的编码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9877188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档