首页 > 解决方案 > 在 Windows 中使用 awk 计算文件夹中多个文本文件中唯一单词的数量

问题描述

我在一个文件夹 (d:\text) 中有多个文件。

使用 gawk(在 Windows 中),我想生成一个单词列表及其出现次数,格式如下:

12145
22483
但是754

等等

标签: awk

解决方案


考虑输入:

$ ls ./in*
./in1.txt  ./in2.txt
$ cat in*
What's up Buddy. How are you doin Buddy?
What's up Man. I am happy and good and awesome.

AWK 使用关联数组计算单词,将单词视为字母字符(您需要调整并为大写/小写等创建逻辑)。请注意,还为空字符串添加了计数 4:

$ gawk 'BEGIN { RS="[^A-Za-z]"; } { words[$0]++; } END { for ( i in words ) print(i " " words[i]); }' ./in*
happy 1
are 1
 4
What 2
awesome 1
How 1
Buddy 2
and 2
I 1
up 2
good 1
doin 1
am 1
Man 1
you 1
s 2

推荐阅读