读书人

linux上去掉空行的几种办法

发布时间: 2012-08-03 00:12:14 作者: rapoo

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]

读书人网 >UNIXLINUX

热点推荐