日期:2014-05-16  浏览次数:20357 次

shell心得

?shell心得
2008-06-04 16:39:41
标签:shell?sed
原创作品,允许转载,转载时请务必以超链接形式标明文章?原始出处?、作者信息和本声明。否则将追究法律责任。http://coolerfeng.blog.51cto.com/133059/80315
shell处理文件真是方便
?
有一个程序要处理一个邮件地址列表
?
偏偏客服给的邮件地址列表很散乱
[root@localhost ~]# cat file.old??
seth@njsuntnd.com?
xiaoli@dl-enghai.com?
sales@mawa.com.cn??
allan.liu@dgdang168.com??
??
?????weilu.chen@ding168.com??
??
?????hongzhi.xiao@dingg168.com????
??
?????lijuan.he@ding168.com??
??
?????paul.ling@dinng168.com
?
如果比较少,也就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