Linux awk¶
更新日期 2022-3-9
- 2022-3-9 更新说明
- 2015-12-16 创建文档
用awk来统计某个文本中单词出现的次数,并以一定的格式输出结构
用法介绍¶
通常,awk逐行处理文本。awk每接收文件的一行,然后执行相应的命令来处理。
用legal文件来做示例
$ cat /etc/legal
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
没有这个文件的话用/etc/bashrc
也行,或者其他文件
搜索统计单词“law”的个数¶
count
用来计数
END
表示搜索完毕后执行的命令
统计单词“the”的个数¶
找到指定单词,自定义变量count
自增,最后输出语句和count值
命令sort,把各行按首字母排列顺序重新排列起来
sort -nr
,每行都以数字开头,按数字从达到小,排列各行uniq -c
,统计各行出现的次数,并把次数打印在每行前端- awk参数
NF
,浏览记录的域的个数
awk
,uniq
和sort
命令结合起来使用,中间需要用竖线|
,整体如下
awk -F' ' '{for(i=1;i<=NF;i=i+1){print $i}}' /etc/legal |
sort|uniq -c|sort -nr|awk -F' ' '{printf("%s %s\n",$2,$1)}'
/etc/legal
中单词出现次数,并以“单词 次数”格式输出结果
本站说明
一起在知识的海洋里呛水吧。广告内容与本站无关。如果喜欢本站内容,欢迎投喂作者,谢谢支持服务器。如有疑问和建议,欢迎在下方评论~