写一个bash脚本以统计一个文本文件test.txt 中每个单词出现的个数。
假设 test.txt 内容如下:
welcome nowcoder
welcome to nowcoder
nowcoder
你的脚本应当输出(以词频升序排列):
to 1
welcome 2
nowcoder 3
说明:
不要担心个数相同的单词的排序问题,每个单词出现的个数都是唯一的。
#!/bin/bash
awk '{
for(i = 1 ; i <= NF ; i++){
array[$i] += 1;
}
}
END{
for(s in array){
print s" "array[s];
}
}' test.txt | sort -k2n
第一个循环索引为单词名
NF获取每一行每个单词的个数
第二个循环获取单词并输出
sort -k2n 对第二列由小到大排序