我正在将我的代码从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
(在软件包 tofromdos
中找到的 Debian 上)。
按照其他建议使用sed
应该可以很好地工作。如果您真的担心性能,您可以将sed
的性能与awk '{print $0 "r"}'
进行比较 - 我不能确定在您的情况下哪个会更快,但在您的文件样本上测量两者并没有什么坏处。
将文件加载到 vim 中,然后
:set ff=dos
-- 对 DOS 行尾 (CRLF) 的更改
:set ff=unix
-- 对 unix 行尾 (LF) 的更改