1)回车换行问题
在早期的打印机时代,开始新的一行要占用两个字符的时间。如果到了一行的结尾处,你要快速回到新的一行的开头,需要打印针头在纸面上飞快地掠过,常常会在纸面上留下污点。
解决这个问题的办法就是,用两个字符:一个字符<Return>来移到第一列,另一个字符<Line feed>来新增一行。
计算机产生以后,存储较为昂贵,在如何解决回车换行这个老问题上,人们产生了不同的意见:
UNIX人认为在到达一行的结尾时新增一行<Line feed> (LF)
Mac人则认同<Return> (CR)的解决办法
MS人则坚持古老的<Return><Line feed> (CRLF)的方法
这就意味着存在3种换行方式,如果将一个文件从一个系统转移到另一个系统,就面临着回车换行的问题,处理该问题的常用工具是unix2dos和dos2unix。
dos2unix deme.txt
unix2dos deme.txt
2)空行问题
empty lines : 只有换行符,没有其他空白字符(空格,tab等)的空行,用正则表达式^$匹配。
blank lines : 包含空白字符(空格,tab等),以换行符结尾的空行,用正则表达式^s*$匹配。
3)Hex与Bin