awk统计单词出现次数
时间: 2023-04-22 07:04:35 浏览: 491
awk是一种文本处理工具,可以用来统计单词出现的次数。具体的方法是使用awk命令,结合正则表达式和计数器,对文本进行处理,统计单词出现的次数。例如,可以使用以下命令来统计文件中单词“hello”的出现次数:
awk '{for(i=1;i<=NF;i++)if($i=="hello")count++}END{print count}' filename
其中,NF表示当前行的单词数,$i表示第i个单词,count表示计数器,END表示处理完所有行后执行的操作,print count表示输出计数器的值。
相关问题
以空格分隔过滤出所有的单词并统计每个单词出现的次数
要以空格分隔并统计每个单词出现的次数,可以使用`awk`命令结合数组来实现。你可以尝试以下命令:
```shell
echo "your text" | awk '{for(i=1;i<=NF;i++) wordcount[$i]++} END {for(word in wordcount) print word, wordcount[word]}'
```
请将 "your text" 替换为你要统计的文本内容。这个命令会将文本按照空格分隔成单词,并使用数组 `wordcount` 记录每个单词出现的次数。最后,使用 `print` 命令打印出每个单词及其出现次数。
如果你希望从文件中读取文本进行统计,可以使用以下命令:
```shell
awk '{for(i=1;i<=NF;i++) wordcount[$i]++} END {for(word in wordcount) print word, wordcount[word]}' your_file.txt
```
将 `your_file.txt` 替换为你要统计的文件路径。这个命令会读取文件内容,并按照相同的方式进行单词统计。
shell统计出现域名次数按次数进行降序排列
可以使用以下命令来实现:
```
cat file.txt | awk '{print $1}' | sort | uniq -c | sort -rn
```
其中,`file.txt`是包含域名的文件路径。该命令的作用是:
1. 使用 `cat` 命令读取文件内容;
2. 使用 `awk` 命令提取每行中的第一个单词,即域名;
3. 使用 `sort` 命令对域名进行排序;
4. 使用 `uniq -c` 命令统计每个域名出现的次数,并在前面加上次数;
5. 使用 `sort -rn` 命令按照次数进行降序排列。
执行该命令后,会输出按照域名出现次数降序排列的结果。
阅读全文