我正在将我的代码从 UNIX 迁移到 LINUX,并且我知道 unix2dos 命令在 SUSE 11.0 中不可用。请让我知道是否
alias unix2dos='recode lat1..ibmpc'
会有和unix2dos一样的效果吗?
我不确定重新编码,但sed -i 's/$/\r/'
会做与unix2dos
.
使用recode
似乎有风险,它用于转换字符集,而不仅仅是更改换行符。我没用过recode
,但我担心如果文件是用 UTF-8 而不是 Latin1 编码的,你可能会破坏你的文件。
我不知道在 SUSE 中找到了哪些软件包,但也许有一种替代方法unix2dos
,例如todos
(在 Debian 上,在 package 中找到tofromdos
)。
按照其他建议使用sed
应该效果很好。如果您真的担心性能,您可以将sed
的性能与awk '{print $0 "\r"}'
- 我不能确定在您的情况下哪个会更快,但是在您的文件样本上测量两者并没有什么坏处。
将文件加载到 vim 中,然后
:set ff=dos
-- 更改 DOS 行尾 (CRLF)
:set ff=unix
-- 对 unix 行尾 (LF) 的更改