Linux下统计出现次数最多的指定字段值
假设桌面上有一个叫“data.txt”的文本,内容如下:
{id='xxx' info='xxx' kk='xxx' target='111111' dd='xxx'}
{id='xxx' info='xxx' kk='xxx' target='777' dd='xxx'}
{id='xxx' info='xxx' kk='xxx' target='yyyy' dd='xxx'}
{id='xxx' info='xxx' kk='xxx' target='5555' dd='xxx'}
{id='xxx' info='xxx' kk='xxx' target='777' dd='xxx'}
{id='xxx' info='xxx' kk='xxx' target='555566' dd='xxx'}
要求:找出“data.txt”文件中target字段出现次数最多的值。
Linux下统计字符串
在linux终端通过常用工具进行解决,方法如下:
其中组合用到了一些命令行和工具,有cat、awk、cut、sed、sort、uniq、tail——
cat
cat data.txt,获取并显示“data.txt”文件的每一行内容:
awk
cat data.txt | awk '{print $4}',显示传入的每一行中第四个字段:
cut
cat data.txt | awk '{print $4}' | cut -c 8-,从传入字符串的第八位开始,截取字符串到最后:
sed
cat data.txt | awk '{print $4}' | cut -c 8- | sed "s/'//g",去掉传入字符串中包含的 ' 字符:
sort
cat data.txt | awk '{print $4}' | cut -c 8- | sed "s/'//g" | sort,对结果进行排序:
uniq
cat data.txt | awk '{print $4}' | cut -c 8- | sed "s/'//g" | sort | uniq -c | sort,去重并统计每种字符串出现的次数:
tail
cat data.txt | awk '{print $4}' | cut -c 8- | sed "s/'//g" | sort | uniq -c | sort | tail -n 1,显示结果中的最后一行:
我们至此已知出现次数最多的target字段值为777,出现次数为2。若有多个相同次数的字段值出现,可以通过修改tail -n后面接的数值来查看,改为10即显示结尾10行。
Linux下统计出现次数最多的指定字段值的更多相关文章
- 【转】【Linux】Linux下统计当前文件夹下的文件个数、目录个数
[转][Linux]Linux下统计当前文件夹下的文件个数.目录个数 统计当前文件夹下文件的个数,包括子文件夹里的 ls -lR|grep "^-"|wc -l 统计文件夹下目录的 ...
- [转帖]linux下查找文件及查找包含指定内容的文件常用命令。
linux下查找文件及查找包含指定内容的文件常用命令. https://blog.csdn.net/yangyu19910407/article/details/18266821 最简单的查找 fin ...
- Linux下统计当前文件夹下的文件个数
Linux下统计当前文件夹下的文件个数 √ ls -l |grep "^-"|wc -l
- [转载] linux下tar命令解压到指定的目录
参考 http://blog.sina.com.cn/s/blog_62449fcf0100nfar.html linux下tar命令解压到指定的目录 : #tar zxvf /bbs.tar.z ...
- linux下tar命令解压到指定的目录
linux下tar命令解压到指定的目录 : #tar zxvf xx.tar.gz -C /xx//把根目录下的xx.tar.gz解压到/xx/下,前提要保证存在/xx这个目录 这个和cp命令有点不同 ...
- linux wc 的用法-linux 下统计行数、单词数、字符个数
linux wc 的用法-linux 下统计行数.单词数.字符个数 wc : wc -l 统计有多少行 wc -w 统计有多少个单词 wc -c 统计有多少个字符
- C#比较两个对象中的指定字段值是否相等
一.创建CompareFieldAttribute标识要比较的字段 using System; namespace CompareObjField { /// <summary> /// ...
- Linux下删除空文件,删除指定大小的文件
Linux下批量删除空文件(大小等于0的文件)的方法: find . -name "*" -type f -size 0c | xargs -n 1 rm -f 用这个还可以删除指 ...
- linux下无root 安装activepython到指定目录
linux下无root 安装activepython 1.下载ActivePython-2.7.8.10-linux-x86_64.tar.gz 包 2.进入非root用户,如bdc用户,解压 [bd ...
随机推荐
- PHP——生成随机数和日期时间
在PHP里面两个常用的函数 rand(); 生成随机数 当括号内无参数时 系统会以当前时间为种子进行随机数的生成 rand(1,10); 括号里面是生成随机数的范围,在形成的随机数在1~1 ...
- [reprint]如何编写引导程序 Hello World
在存储介质(硬盘.软盘.光盘)中有一块特殊的区域,叫做引导区.在计算机启动后,BIOS会读取引导区内的代码到内存中去,然后将执行这些代码.引导区的位置和大小与计算机的平台有关,对于IBM-PC兼容机, ...
- POJ 3241 Object Clustering(Manhattan MST)
题目链接:http://poj.org/problem?id=3241 Description We have N (N ≤ 10000) objects, and wish to classify ...
- 转:装完Centos7提示Initial setup of CentOS Linux 7 (core)
在用U盘装完CentOS后,重新开机启动后显示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License inf ...
- 夺命雷公狗ThinkPHP项目之----企业网站12之文章添加的实现
我们现在就开始写文章添加了,居然是添加当然布列外,我们还是要先讲模版搞定再说被: <!doctype html> <html> <head> <meta ch ...
- 夺命雷公狗---DEDECMS----20dedecms取出栏目页对应的内容
取出栏目页对应的内容 现在我们的栏目页面是可以完全正常跳转了,那么我们现在需要完成的就是让他的内容全部(电影,连续剧,综艺)分类的显示出来. 我们还是要使用{dede:arclist}标签来取出我们所 ...
- NOIP201302表达式求值
NOIP201302表达式求值 题目描述 Description 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值. 输入描述 Input Description 输入仅有一行,为需要你计 ...
- Relative 定位与Absolute 定位实例
一直没有弄懂相对定位与绝对定位之间的关系,今天特来学习一下.本实践都是在360浏览器下测试所得. <!DOCTYPE html> <html> <head> < ...
- maven相关
1. 创建/导入maven项目时 eclipse默认jdk版本配置:http://blog.csdn.net/lzj0470/article/details/42292021 2. eclipse 使 ...
- java总结第二次//数组及面向对象
三.java数组 主要内容:数组概述.一维数组声明.数组元素的引用.数组元素的默认初始化.创建数组.数组初始化.多维数组.多维数组初始化.数组排序 1.数组概述 数组是多个相同类型数据的组合,实现对这 ...