Windows文件系统中的换行符是 \r\n
Apple的文件系统中的换行符是 \r
Unix的文件系统中的换行符是 \n
由于回车都是不可见的,所以comm和diff之前最好先将多个不同来源的文本用换行符处理一下,否则diff出来的结果会差距很大。比较方便的是用系统自带的一些命令行工具:tr(替换)和strings(只打印可显示字符)
tr -d "\015" < A > B
strings A > B
参考文档:
在unix上用的去掉windows文件中的换行符(0x0D)的shell
版权声明:可以转载,转载时请务必以超链接形式标明文章 comm或diff时:需要注意Windows/Unix文本结尾的回车符问题 的原始出处和作者信息及本版权声明。
http://www.chedong.com/blog/archives/001385.html
Comments
我求你一件事呗?
就是:求你别用FeedBurner的统计啦!
每次在Reader里面点击你的文章都gfw掉了,虽然很无奈,但是你怎么也要照顾一下我们吧
由: xLight 发表于 2007年10月22日 下午01时20分
/r /n应该是\r \n吧……
由: qinyf 发表于 2007年10月23日 夜间01时12分
“比较方面的时用系统自带的”
是否是错字,还是我理解不够?
由: 蓝色的信封 发表于 2007年10月23日 晚上09时31分
似乎一般的linux发行版里面带有dos2unix/mac2unix/unix2dos。
由: pig345 发表于 2007年12月29日 上午10时28分