Bash 检查电子邮件列表中的前100个域
我有一个很大的电子邮件列表,我想知道这个列表中前100个域名是什么,示例列表:Bash 检查电子邮件列表中的前100个域,bash,git-bash,Bash,Git Bash,我有一个很大的电子邮件列表,我想知道这个列表中前100个域名是什么,示例列表: cristiano.ofidiani@libero.it cristianocurzi70@libero.it cristianogiustetto@libero.it cristianopaolieri@fercart.com cristianoristori@tiscali.it cristianorollo@tiscali.it cristianoscavi@alice.it cristianotradigo@
cristiano.ofidiani@libero.it
cristianocurzi70@libero.it
cristianogiustetto@libero.it
cristianopaolieri@fercart.com
cristianoristori@tiscali.it
cristianorollo@tiscali.it
cristianoscavi@alice.it
cristianotradigo@virgilio.it
cristianpassarelli@virgilio.it
cristianprisco@libero.it
cristianriparip@riparifranco.it
cristiansrl.pec@legalmail.it
cristina.arese@vestisolidale.it
cristina.armillotta@coldiretti.it
cristina.bazzi@bazzicroup.it
cristina.bedocchi@tin.it
cristina.benassi@terminalrubiero.com
我需要知道此列表中域名的顶部,例如:
libero.it 100
tiscali.it 77
legalmain 44
我如何在linux bash中做到这一点?cut-d@-f2 | sort | uniq-c | sort-nr | head-n100应该可以做到这一点。Cut通过使用@分离字段来提取域,uniq需要一个排序列表,
-c
给出一个计数,sort-nr
按降序对其排序,head
给出前一百个。检查手册页中的Cut
,sort
和uniq
@Makoto这里不需要复杂的bash
语法@hhoke1的答案显示了一个由54个字符组成的简单管道。最短的Python命令类似于print(在stdin中x的计数器(x.split(“@”)[1])。最常见的(100))
,它忽略了使用计数器和stdin所需的导入。这是shell和一些标准工具非常适合处理的任务。