码迷,mamicode.com
首页 > Windows程序 > 详细

57 利用sed处理windows和Unix文档中的行结束符

时间:2014-05-18 05:11:41      阅读:432      评论:0      收藏:0      [点我收藏+]

标签:sed   回车   换行   

UNIX和DOS/Windows系统的纯文本格式的换行方式是不同的,基于DOS/Windows的文本文件在每一行末尾有一个CR(回车)和LF(换行),而UNIX文本只有一个换行。

如果想将一个Unix文本转换为Windows文本,可以使用如下的sed命令行

sed -e ‘s/$/\r/‘ myunix.txt > mywin.txt

在该脚本中,‘$‘规则表达式将与行的末尾匹配,而‘\r‘告诉sed在其之前插入一个回车。在换行之前插入回车,立即,每一行就以CR/LF结束。

虽然很多程序不在乎DOS/Windows格式的CR/LF文本文件,但是有几个程序却在乎,最著名的是bash,只要一遇到回车,它就会出问题。

如果想将一个Windows文本转换Unix文件,可以使用如下的sed命令行:

sed –e ‘s/.$//‘ mywin.txt > myunix.txt

替代规则表达式与一行的最末字符匹配,而该字符恰好就是回车。我们用空字符替换它,从而将其从输出中彻底删除。 

57 利用sed处理windows和Unix文档中的行结束符,布布扣,bubuko.com

57 利用sed处理windows和Unix文档中的行结束符

标签:sed   回车   换行   

原文地址:http://blog.csdn.net/alloyinrunning/article/details/25983399

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!