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如下:
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如下:
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