Fosdccf.blog.chinaunix.net
sdccf
全部博文(19283)
Linux酷软(214)
tmp(0)
PostgreSQL(93)
Solaris(383)
AIX(173)
SCOUNIX(575)
DB2(1005)
Shell(386)
C/C++(1187)
MySQL(1750)
Sybase(465)
Oracle(3695)
Informix(548)
HP-UX(0)
IBM AIX(2)
Sun Solaris(0)
BSD(1)
Linux(8597)
SCO UNIX(23)
2011年(1)
2009年(125)
2008年(19094)
2007年(63)
clifford
linky521
曾德标
fengzhan
leon_yu
mcuflowe
yt200902
guanyuji
GY123456
snow888
carlos94
丸喵喵
sean229
cxunix
可怜的猪
cqxc413
xzzgege
wb123456
分类: LINUX
2008-03-21 21:56:21
可以通过在ULTRAEDIT中拷贝,粘贴生成一个新的文件即可。这样的文件才可以通过脚本的处理。 一个处理邮箱数据的脚本。 说明:首先去掉空格,然后循环按行读取(有其他的方式),去掉重复的数据,去掉非法的数据。 #!/bin/bash j=0 infile=$1 sed 's/\([ ]*\)//g' $infile >mailtemp.txt len=`wc -l < mailtemp.txt` echo $len len=`expr $len + 1` while test $j -lt $len; do a=`tail -$j mailtemp.txt | head -1` b=`echo $a|awk -F, {'print $3'}` echo "a=$a" echo "b=$b" c=`grep -E "\b$b\b" rightdata.txt| wc -l` echo "c=$c" if [ $c -gt 0 ] then echo $a >>doubledata.txt else c1=`echo $b|grep -o "@" |wc -l` echo "c1=$c1" if [ $c1 -ne 1 ] then echo $a >>errordata.txt else c2=`echo $b|grep -o "^@" |wc -l` echo "c2=$c2" if [ $c2 -eq 1 ] then echo $a >>errordata.txt else c3=`echo $b|grep -o "@$" |wc -l` echo "c3=$c3" if [ $c3 -eq 1 ] then echo $a >>errordata.txt else echo $a >>rightdata.txt fi fi fi fi #echo $j j=`expr $j + 1` done rm -rf mailtemp.txt
可以通过在ULTRAEDIT中拷贝,粘贴生成一个新的文件即可。这样的文件才可以通过脚本的处理。
一个处理邮箱数据的脚本。
说明:首先去掉空格,然后循环按行读取(有其他的方式),去掉重复的数据,去掉非法的数据。
#!/bin/bash j=0 infile=$1 sed 's/\([ ]*\)//g' $infile >mailtemp.txt len=`wc -l < mailtemp.txt` echo $len len=`expr $len + 1` while test $j -lt $len; do a=`tail -$j mailtemp.txt | head -1` b=`echo $a|awk -F, {'print $3'}` echo "a=$a" echo "b=$b" c=`grep -E "\b$b\b" rightdata.txt| wc -l` echo "c=$c" if [ $c -gt 0 ] then echo $a >>doubledata.txt else c1=`echo $b|grep -o "@" |wc -l` echo "c1=$c1" if [ $c1 -ne 1 ] then echo $a >>errordata.txt else c2=`echo $b|grep -o "^@" |wc -l` echo "c2=$c2" if [ $c2 -eq 1 ] then echo $a >>errordata.txt else c3=`echo $b|grep -o "@$" |wc -l` echo "c3=$c3" if [ $c3 -eq 1 ] then echo $a >>errordata.txt else echo $a >>rightdata.txt fi fi fi fi #echo $j j=`expr $j + 1` done rm -rf mailtemp.txt
上一篇:Linux系统攻略 关于vi替换命令的使用说明
下一篇:Linux Shell脚本Ldd命令原理及使用方法
登录 注册