shell处理文件真是方便
 
有一个程序要处理一个邮件地址列表
 
偏偏客服给的邮件地址列表很散乱
[root@localhost ~]# cat file.old  
[email][email protected][/email]
[email][email protected][/email]
[email][email protected][/email]  
[email][email protected][/email]  
  
     [email][email protected][/email]  
  
     [email][email protected][/email]    
  
     [email][email protected][/email]  
  
     [email][email protected][/email]
 
如果比较少,也就vi慢慢去删除空行,然后删除每行的空格,慢慢对齐了
文件比较大。shell来搞定之
 
sed '/^$/d' file.old
无效果,这个只能删除直接用回车产生的空行,对空格组成的空行无效
 
sed '/^[ ]*$/d' file.old
恩,空行没有了。但是部分行前面还有不少空格,看着不美观,再来
 
sed '/^[ ]*$/d' file.old | sed 's/^ *//'
现在可以了
 
其实也可以一次搞定,不用sed两次
sed -e '/^[ ]*$/d' -e 's/^ *//' file.old
 
不过这样并没有修改原始文件,可以用重定向>到新文件或者用-i参数
#sed -i -e '/^[ ]*$/d' -e 's/^ *//' file.old


#sed -e '/^[ ]*$/d' -e 's/^ *//' file.old > file.new