我有一个非常大的 txt 文件 (500GiB),我想获取其唯一单词的数量。我试过 this , 但它似乎很慢,因为它确实排序:
grep -o -E '\w+' temp | sort -u -f | wc -l
有更好的方法吗?
最佳答案
awk
助您一臂之力!
$ awk -v RS=" " '{a[$0]++} END{for(k in a) sum++; print sum}' file
更新:
使用 tr
进行预处理并让 awk
经济地进行计数可能更好。您可能想用空格或换行分隔单词。
例如:
$ tr ':;,?!\"' ' ' < file | tr -s ' ' '\n' | awk '!a[$0]++{c++} END{print c}'
关于bash - 文档中唯一单词的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34377704/