shell处理文件真是方便
时间:2010-06-03 来源:chinaboywg
shell处理文件真是方便
有一个程序要处理一个邮件地址列表
偏偏客服给的邮件地址列表很散乱
[root@localhost ~]# cat file.old
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
如果比较少,也就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
有一个程序要处理一个邮件地址列表
偏偏客服给的邮件地址列表很散乱
[root@localhost ~]# cat file.old
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
如果比较少,也就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
相关阅读 更多 +