【转载】DOS/Windows和Linux/Unix间的文件格式转换

【转载】于http://os.51cto.com

DOS/Windows和Linux/Unix的文件换行格式不同,基于前者的文本文件在一个CR(回车)和LF(换行),而Unix文本
只有一个换行。

1)将Dos/Windows下的文件格式转换成Linux/Unix系统下的文件格式
使用sed工具,具体操作如下:

$sed -e 's/.$//' dos.txt > unix.txt

原理是:替代规则表达式与一行的最末字符匹配,而该字符就是回车(换行符不会被匹配到),然后用空字符替换
之即可;
如果是在vim中,则直接执行下述命令即可:
:%s/.$//
原理与上述一样。
2)将Linux/Unix系统下的文件格式转换成DOS/Windows下的文件格式
使用sed工具,具体操作如下:

$sed -e 's/$/\r/' unix.txt > dos.txt

原理是:与上述原理相反,即先匹配每一行的末尾,然后在之前插入回车,则每一行就以CR/LF结束。
【注意】仅当使用GNU sed 3.02.80或以后版本时,才会将CR替换'\r'。

posted @ 2011-12-31 14:03  朝雾之归乡  阅读(472)  评论(0编辑  收藏  举报