linux下去掉空行的几种办法
[size=medium][size=small]1,最常用的就是sed了
sed /^\s*$/d file (passed not good)
或者
sed '/^$/d'(passed not good)
2, grep的方法
grep -v ^$ file (passed)
或者
grep . file (只能去掉纯粹的空行,not very good)
3, awk的
awk NF file (passed,good)
awk '!/^$/' file (passed, not good)
性能:
grep > awk NF > sed >awd '!/^$/'
以下为一些测试:
测试用例:
2,500,000行文件大小,每行约450个字节
[/size]1. grep . file > file_noemptyline
用时: 0m2.275s
2. sed /^$/d file > file_noemptyline
用时: 0m37.540s
3. awk NF file > file_noemptyline
用时: 0m6.770s
4. awk '!/^$/' file > file_noemptyline
用时: 0m55.727s
5. awk '!/^[:blank:]*$/' file >file_noemptyline[/size]