我有一个很大的电子邮件列表,我想知道这个列表中的前100个域名是什么,示例列表:
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中做到这一点?
答案 0 :(得分:1)
cut -d@ -f2 | sort | uniq -c | sort -nr | head -n 100
应该做到这一点。剪切通过使用@来分隔字段来提取域,uniq需要排序列表,-c
给出计数,sort -nr
按递减顺序对它们进行排序,head
给出前100个。