11.1.4. 换行符转换

文本文件的格式,特别是行尾(换行符)编码,有平台独立性。

表 11.3. 不同平台的换行符样式列表

平台换行符编码控制码十进制16 进制
Debian (unix)LF^J100A
MSDOS 和 WindowsCR-LF^M^J13 100D 0A
苹果的 MacintoshCR^M130D

换行符转换程序, fromdos(1), todos(1), frommac(1), 和 tomac(1), 是相当方便. recode(1) 也是有用的。

[注意]注意

在 Debian 系统上的一些数据,如 python-moinmoin 软件包的 wiki 页面数据,使用 MSDOS 式样的 CR-LF 作为换行符编码。所以,上面的规则仅仅是一个通用规则。

[注意]注意

大部分编辑器 (比如: vim, emacs, gedit, …) 能够透明处理 MSDOS 式样的换行符文件。

[提示]提示

对于混合 MSDOS 和 Unix 式样的文件,统一到 MSDOS 换行符式样,使用 “sed -e ‘/\r$/!s/$/\r/‘“ 代替 todos(1) 比较好。 (例如,在使用 diff3(1)移植两个 MSDOS 式样的文件后.)这是因为 todos 给所有的行增加 CR.