前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >awk命令的使用

awk命令的使用

作者头像
AnRFDev
发布2021-02-01 15:33:03
5060
发布2021-02-01 15:33:03
举报
文章被收录于专栏:AnRFDevAnRFDev

Ubuntu14.04

目的:想用awk来统计某个文本中单词出现的次数,并以一定的格式输出结构

通常,awk逐行处理文本。awk每接收文件的一行,然后执行相应的命令来处理。

用legal文件来做示例

代码语言:javascript
复制
$ 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.

搜索统计单词“law”的个数

代码语言:javascript
复制
$ awk -F : '/law/{count++} END{print "the count is ",count}' /etc/legal
the count is  1

统计单词“the”的个数

代码语言:javascript
复制
$ awk -F : '/the/{count++} END{print "the count is ",count}' /etc/legal
the count is  3

找到指定单词,自定义变量count自增,最后输出语句和count值

命令sort,把各行按首字母排列顺序重新排列起来

  • sort -nr,每行都以数字开头,按数字从达到小,排列各行
  • uniq -c,统计各行出现的次数,并把次数打印在每行前端
  • awk参数 NF - 浏览记录的域的个数

综合起来,命令就是

代码语言:javascript
复制
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中单词出现次数,并以“单词 次数”格式输出结果

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目的:想用awk来统计某个文本中单词出现的次数,并以一定的格式输出结构
    • 搜索统计单词“law”的个数
      • 统计单词“the”的个数
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档