1

我正在将我的代码从 UNIX 迁移到 LINUX,并且我知道 unix2dos 命令在 SUSE 11.0 中不可用。请让我知道是否

alias unix2dos='recode lat1..ibmpc'

会有和unix2dos一样的效果吗?

4

3 回答 3

3

我不确定重新编码,但sed -i 's/$/\r/'会做与unix2dos.

于 2012-05-23T19:57:58.483 回答
0

使用recode似乎有风险,它用于转换字符集,而不仅仅是更改换行符。我没用过recode,但我担心如果文件是用 UTF-8 而不是 Latin1 编码的,你可能会破坏你的文件。

我不知道在 SUSE 中找到了哪些软件包,但也许有一种替代方法unix2dos,例如todos(在 Debian 上,在 package 中找到tofromdos)。

按照其他建议使用sed应该效果很好。如果您真的担心性能,您可以将sed的性能与awk '{print $0 "\r"}'- 我不能确定在您的情况下哪个会更快,但是在您的文件样本上测量两者并没有什么坏处。

于 2012-05-23T22:09:13.040 回答
0

将文件加载到 vim 中,然后

:set ff=dos -- 更改 DOS 行尾 (CRLF)

:set ff=unix-- 对 unix 行尾 (LF) 的更改

于 2012-05-23T22:14:45.853 回答