首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows中使用Cygwin对文件进行排序

问在Windows中使用Cygwin对文件进行排序
EN

Stack Overflow用户
提问于 2013-03-15 05:26:03
回答 1查看 201关注 0票数 0

我有一个包含数千条啤酒评论的文件,需要对其进行分类。每一篇啤酒评论都是这样的:

代码语言:javascript
复制
beer/name: John Harvards Simcoe IPA
beer/beerID: 63836
beer/brewerID: 8481
beer/ABV: 5.4
beer/style: India Pale Ale (ITA)
review/appearance: 4/5
review/aroma: 6/10
review/palate: 3/5
review/taste: 6/10
review/overall: 13/20
review/time: 11575857200

我需要对评论数量最多的前10款啤酒进行排序。啤酒标识符' beer /name‘。

EN

回答 1

Stack Overflow用户

发布于 2013-03-15 05:55:12

听起来像是家庭作业,但不管怎样(我喜欢啤酒),这是一个awk starter:

代码语言:javascript
复制
awk -F'[ /]' -v note=20 '
    /^beer\/name:/{$1=$2="";beer=$0}
    /^review/ && !/review\/time/{arr[beer]+=$3/$4; count++}
    END{for (a in arr) print a, arr[a]*note/count "/" note}
' beers.txt

可以很容易地将输出通过管道传递给sort & head命令,以对特定列进行排序,并分别从顶部开始显示N行。(或者使用awk本身,但更难……)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15420516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档