假设我有如下文件text.txt
:列出文本文件中出现次数的所有单词?
she likes cats, and he likes cats too.
我想我的结果是这样的:
she 1
likes 2
cats 2
and 1
he 1
too 1
如果把space , .
到它会使脚本更容易,这将是精细。
是否有一个简单的shell管道可以实现这一目标?
假设我有如下文件text.txt
:列出文本文件中出现次数的所有单词?
she likes cats, and he likes cats too.
我想我的结果是这样的:
she 1
likes 2
cats 2
and 1
he 1
too 1
如果把space , .
到它会使脚本更容易,这将是精细。
是否有一个简单的shell管道可以实现这一目标?
随着GNU awk的你可以指定记录分隔符(RS)是的非字母字符的序列:
$ gawk -v RS='[^[:alpha:]]+' '{sum[$0]++} END{for (word in sum) print word,sum[word]}' file
she 1
likes 2
and 1
too 1
he 1
cats 2
但这不会解决你的如何识别“字”的问题一般。
如果这句话是“我的一只猫重500磅,那只猫超大尺寸!” - 是猫的数量加上猫的数量还是别的吗?在这句话中是否有一个单词“s”?是否有单词“500”和单词“lbs”或单词“500lbs”或其他?是否有“超级”一词和“大小”一词或“超大”一词? – 2013-03-14 20:58:01