- ^M=ctrl v+ctrl m
- wc -l 根据换行符统计行数,如果最后一行没有换行符,就会统计少一行。
如何为最后一行补充换行符?
sed -i -s ‘$s/$/\n/;P;d;’ file
#sed命令解读
#-i: 原地编辑,具体实现为,输出到一个新的文件,输出结束后,使用mv修改名字为原文件
#-s: 不要将参数中给定的多个文件视作一个文件,而是单独看待
#‘$s/$/\n/;P;d’: 第一个$是定位符,只处理最后一行;P,输出模式空间内容,单截止于第一个回车符;d删除模式空间,直接开始下一次cycle。
#补充说明:sed有一个默认操作,开始时移除当前行末的所有换行符,结束时输出模式空间,如果移除过换行符,补回换行符。 - foobar