- 论坛徽章:
- 0
|
没听说过AIX有这种命令,你可以自己动手
以前,老式的电传打字机使用两个字符来另起新行。一个字符把滑动架移回首位\r\n(称为回车, <CR> ,另一个字符把纸上移一行 (称为换行, <LF> 。\r\n 当计算机问世以后,存储器曾经非常昂贵。有些人就认定没必要用两个字符来表示\r\n行尾。UNIX 开发者决定他们可以用 <Line Feed> 一个字符来表示行尾。开发 MS-DOS (以及微软视窗) 的那些家伙则决定沿用老式的<CR><LF>。\r\n\r\n所以从DOS到UNIX的格式转换需要把<CR> (ASCII 13,八进制15)去掉,用tr命令就可以完成。\r\ntr -d \'\\015\' <dos.txt>unix.txt\r\n\r\n而从UNIX到DOS格式转换需要在<LF>后追加上一个<CR>,我试了sed等命令好像不支持\\012这种转义字符,你可以用C语言来做,非常之简单,其核心部分如下:\r\n\r\n...\r\n c = fgetc(fFileR);\r\n while( !feof(fFileR) )\r\n {\r\n fputc(c,fFileW);\r\n if(c==\'\\n\')fputc (\'\\r\',fFileW);\r\n c=fgetc(fFileR)\r\n }\r\n\r\n... |
|