Chinaunix

标题: [已解决]关于单词排序的问题,请教.. [打印本页]

作者: casio1374633    时间: 2008-10-08 13:28
标题: [已解决]关于单词排序的问题,请教..
自己做题目时候发现有些单词查的不止3,4次了,决定写个小shell,把自己做阅读中查过得单词做个统计.格式如下:
======================
首先,假设创建 2个文本 08 ; 07 (假设是08年考题和07年考题)

假设08文本内容如下:
----------------------------------
infections:传染病
controversy:争议
breast:乳腺癌
intimately:密切的
+be selected to:被选来做...
+be prepared to:准备做...
+be obliged to:只能...,被迫...
+be pleased to:很高兴...
===================
假设07文本内容如下:
-------------------------------------
controversy:争议
breast:乳腺癌
intimately:密切的
+be selected to:被选
+be prepared to:准备
========================
其中,单词和意思是用冒号分隔,词组和意思也是冒号分隔,词组前面加“+“号表示是词组。

对于单词的统计shell如下:
  1. grep '^[a-z]' 0*|awk -F: '{print $3"\t"$2}'|sort +1 -2 | uniq -c -f1 | awk '{print $1"\t"$3"\t\t\t"$2}' | sort -r > word;
复制代码

=================
显示出来得结果是:
2    intimately            密切的
2    controversy            争议
2    breast            乳腺癌
1    infections            传染病

======================
另外,对于词组,统计的shell如下:
  1. grep -v '^[a-z]' 0*|cut -d+ -f2|tr ' ' '_'|awk -F: '{print $2"\t"$1}'|sort +1 -2 | uniq -c -f1|awk '{print $1"\t"$3"\t\t\t"$2}' | tr '_' ' '|sort -r > phrase;
复制代码

====================
显示结果如下:
2       be selected to                  被选
2       be prepared to                  准备
1       be pleased to                   很高兴...
1       be obliged to                   只能...,被迫...
=======================
现在的问题是,同次数得单词是按照逆序得方式排序得,情况如下:
======================

2       struggle                        努力,奋斗
2       consequence                     结果
1       witness                 目睹
1       vulnerable                      难防守的,易受伤的
1       viable                  可成立的,可实行的
1       value                   重视
1       upset                   不高兴
1       undesirable                     令人不快,不方便的
1       unconsciously                   无意识的
1       unaccountably                   不可数的
1       transplant                      移植

===========================
谁能帮忙做到,次数是从高到低,同时单词还是从a-z排序?

[ 本帖最后由 casio1374633 于 2008-10-8 13:43 编辑 ]
作者: leetaedong    时间: 2008-10-08 13:34
faint 那么多管道。

man sort
可以通过 -k 指定。
作者: ly5066113    时间: 2008-10-08 13:38
最后的sort -r改为sort -k1,1nr -k2
作者: casio1374633    时间: 2008-10-08 13:43
晕~~这回帖的速度~~cu真好~~

谢谢楼上几位了~~




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2