- 论坛徽章:
- 0
|
比较好的解决方法
=====输入文件=======
$ cat 1.txt
200000000000007|十堰市人民路福兴汽配部
202111320000018|市人民医院
202111120000039|黄龙电厂
200000000000007|十堰人民路福兴汽配部
201602520002941|观音中学
201602520002941|观音中学(test)
202111020000112|喻珍良商店
200000000000007|人民路福兴汽配
201602120000113|包装装璜厂
202111420000024|胡汉江商店
201602320000115|粮油站
测试结果:
Guest@Vic ~
$ sort -u 1.txt |awk -f tidy.awk
200000000000007|十堰市人民路福兴汽配部
201602120000113|包装装璜厂
201602320000115|粮油站
201602520002941|观音中学(test)
202111020000112|喻珍良商店
202111120000039|黄龙电厂
202111320000018|市人民医院
脚本代码:
$ cat tidy.awk
BEGIN{FS="|"}
{#print old,buf,max,NR
if (NR==1){
old=$1;
buf=$0;
max=length($2);
}
else
if (old!=$1)
{
print buf;
old=$1;
max=length($2);
buf=$0;
}
else if (len=length($2)>max)
{
max=len;
buf=$0;
}
}
END{if (NR==1) print buf}
==================
如果对于其中的语句和算法不明,可以发贴上来.
[ 本帖最后由 vic2005 于 2006-4-22 16:59 编辑 ] |
|