- 浏览: 126294 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (111)
- 资料总结参阅 (2)
- To Study List (2)
- notepaper (2)
- linux学习 (32)
- linux学习-included (3)
- 开源框架-Hibernate (2)
- 开源框架-Ibatis (1)
- JEE整理 (25)
- JEE Server参考 (5)
- 开源框架-Spring (1)
- 硬件知识 (5)
- 开发环境搭建及管理 (7)
- linux软件工具 (2)
- 数据库 (8)
- 各类文档参考 (1)
- 开源框架-Netty (1)
- 性能调优 (1)
- DP相关 (1)
- 软件知识 (3)
- 脚本语言-python (2)
- 脚本语言-perl (1)
- 分布式 (2)
最新评论
-
zhuxinhua:
谢谢,,这东西真不容易找啊。。
JBoss配置---收集中...
前几天碰到一个问题:现在有一万多条记录,其中包含重复的记录,每条记录占一行,问如何从这些记录中找到数量排名前10的记录?
对于这个问题,可以编程实现。但是在Linux环境下,可以简单的通过一些命令的组合直接完成这项工作。这里先讲我使用的命令,再一一分析。
可以使用以下命令完成这个任务,其中所有的记录以每条一行的形式存储在data文件中。
现在来一一分析这些命令组合的含义。
1) sort data
表示对data文件中的内容进行排序。sort命令是对于每一行的内容根据字典序(ASCII码)进行排序,这样可以保证重复的记录时相邻的。
2) sort data | uniq -c
这里,通过管道(|)将左边部分的命令的输出作为右边部分的输入。uniq -c 表示合并相邻的重复记录,并统计重复数。因为uniq -c 只会合并相邻的记录,所以在使用该命令之前需要先排序。
3) sort data | uniq -c | sort -k 1 -n -r
经过uniq -c 处理之后的数据格式形如"2 data",第一个字段是数字,表示重复的记录数;第二个字段为记录的内容。我们将对此内容进行排序。sort -k 1表示对于每行的第一个字段进行排序,这里即指代表重复记录数的那个字段。因为sort命令的默认排序是按照ASCII,这就会导致按从大到小进行排序时,数值2会排在数值11的前面,所以需要使用-n 参数指定sort命令按照数值大小进行排序。-r 表示逆序,即按照从大到小的顺序进行排序。
4) sort data | uniq -c | sort -k 1 -n -r | head 10
head 命令表示选取文本的前x行。通过head 10 就可以得到排序结果中前十行的内容。
总结:通过这个例子,可以深刻的体会到Linux的命令工具集的强大之处,通过几个命令的组合便可以完成这样一件常见但又不简单的任务,体现了Linux简洁而优美的特点。
转自:http://eriol.iteye.com/blog/870641
对于这个问题,可以编程实现。但是在Linux环境下,可以简单的通过一些命令的组合直接完成这项工作。这里先讲我使用的命令,再一一分析。
可以使用以下命令完成这个任务,其中所有的记录以每条一行的形式存储在data文件中。
$ sort data | uniq -c | sort -k 1 -n -r | head 10
现在来一一分析这些命令组合的含义。
1) sort data
表示对data文件中的内容进行排序。sort命令是对于每一行的内容根据字典序(ASCII码)进行排序,这样可以保证重复的记录时相邻的。
2) sort data | uniq -c
这里,通过管道(|)将左边部分的命令的输出作为右边部分的输入。uniq -c 表示合并相邻的重复记录,并统计重复数。因为uniq -c 只会合并相邻的记录,所以在使用该命令之前需要先排序。
3) sort data | uniq -c | sort -k 1 -n -r
经过uniq -c 处理之后的数据格式形如"2 data",第一个字段是数字,表示重复的记录数;第二个字段为记录的内容。我们将对此内容进行排序。sort -k 1表示对于每行的第一个字段进行排序,这里即指代表重复记录数的那个字段。因为sort命令的默认排序是按照ASCII,这就会导致按从大到小进行排序时,数值2会排在数值11的前面,所以需要使用-n 参数指定sort命令按照数值大小进行排序。-r 表示逆序,即按照从大到小的顺序进行排序。
4) sort data | uniq -c | sort -k 1 -n -r | head 10
head 命令表示选取文本的前x行。通过head 10 就可以得到排序结果中前十行的内容。
总结:通过这个例子,可以深刻的体会到Linux的命令工具集的强大之处,通过几个命令的组合便可以完成这样一件常见但又不简单的任务,体现了Linux简洁而优美的特点。
转自:http://eriol.iteye.com/blog/870641
发表评论
-
linux网络流量监控工具: iftop
2011-04-17 18:46 1059主页:http://www.ex-parrot.com ... -
建立NFS共享
2011-04-17 18:41 776服务端: 修改 /etc/exports,增加共享目录 /ex ... -
linux 程序运行前后台切换
2011-03-10 21:57 1201Shell支持作用控制,有 ... -
Socket基础知识(建立连接的三次握手,关闭连接的四次握手)
2011-01-27 15:46 7753refer to: http://www.cnitblog.c ... -
关于linux服务器出现大量的Time_WAIT socket连接问题
2011-01-26 18:07 2248修改linux系统/etc/sysctl.conf配置来解决这 ... -
通过修改Linux服务自动启动指定应用程序(涉及运行级别)
2011-01-24 10:16 913转自:http://www.cnblogs.com/inter ... -
linux shell编程if语句内判断参数详解
2011-01-23 21:28 882shell 编程中使用到得if语句内判断参数 –b 当f ... -
【转载】配置开发支持高并发TCP连接的Linux应用程序全攻略
2010-12-15 23:46 870原文见:http://www.cppblog. ... -
命令收集(notepad)
2010-12-07 21:11 7221. grep cat app.log | grep 'ERR ... -
linux上面的sz,rz命令与ssh的配合
2010-09-10 14:16 748问题的提出: 一 ... -
apache动态加载module
2010-08-26 17:58 762From blog: http://fangrn.iteye. ... -
apt命令详解
2010-08-22 16:11 821常用的APT命令参数: apt-cache searc ... -
linux学习网址
2010-08-19 17:09 6691. http://lamp.linux.gov.cn -
jboss部署成为linux服务
2010-08-10 17:00 18221. 创建jboss用户 useradd -m jbos ... -
Shell学习
2010-08-10 14:14 7461. 如何清空一个文件 cat /dev/null &g ... -
关于网络
2010-08-05 10:41 7291. OSI七层协议 物理层,数据链路层,网络层, ... -
关于linux中环境变量的设置
2010-05-10 11:49 797at /etc/profile append the fol ... -
eclipse查看安装-dropins
2010-04-22 14:35 1553Eclipse 3.4插件安装方式 以前安 ... -
ftp命令详解
2010-04-21 16:46 982linux下ftp命令 FTP命令是Internet用户使用 ... -
find命令详解
2010-04-20 13:50 815作者:Sheryl Calish 简单 ...
相关推荐
本篇将详细解析如何巧妙地使用Linux命令完成统计排序的功能,以解决找到数量排名前10的记录的问题。 首先,我们需要理解的是,这个问题的核心在于统计每条记录的出现次数并进行排序。在Linux中,`sort`、`uniq`和`...
### Linux 数据统计基本命令 在Linux环境中进行数据统计是一项非常重要的技能,无论是系统管理员还是开发人员,掌握一些基本的数据统计命令对于日常的工作都是极其有用的。本文将详细介绍几个常用的Linux数据统计...
标题中的“用Google AJAX Search API对互联网上Linux命令出现次数排名”表明了本文将探讨如何利用Google AJAX Search API来统计并排序Linux命令在互联网上的使用频率。这是一个利用Web服务进行数据挖掘和分析的实例...
Linux命令详解手册是一本适合Linux新手和有一定基础的用户深入学习Linux命令的指南。它详细介绍了大量的Linux命令,涵盖了系统管理、系统设置、文档编辑以及压缩备份等多个方面的操作。掌握这些命令对于理解和使用...
**Linux `ps` 命令详解** 在Linux操作系统中,`ps`(Process Status)命令是用于查看系统当前进程状态的工具。它能够显示进程的实时信息,帮助用户了解系统的运行情况,进行进程管理。`ps`命令历史悠久,功能强大,...
Linux命令是Linux操作系统中进行系统管理、文件操作和任务执行的基本工具。这些命令通常是通过命令行界面(CLI)输入的,使得用户能够高效地与系统交互。以下是一些常见的Linux命令及其用途: 1. `ls`: 列出当前...
### 工程师必用 Linux 命令详解 Linux 是一种广泛使用的开源操作系统,尤其在服务器领域占有举足轻重的地位。对于从事 IT 行业尤其是软件开发和系统管理的人来说,掌握一定的 Linux 命令是必不可少的技能之一。下面...
Linux命令非常繁多,且每个命令都有众多参数,本文只简述了部分常用命令的基本用途和用法。熟练使用这些命令可以大幅提升工作效率,是每个Linux用户都应该掌握的基础技能。由于内容扫描可能存在误差,建议在实际操作...
### Red Hat Linux命令大全解析 #### 一、系统管理与控制 - **login**: 用户登录命令,用于切换或建立新的用户会话。 - **logout** 和 **exit**: 用于退出当前用户会话,返回到登录界面或上一个shell。 - **...
本文将基于“150个常用Linux命令”的内容,详细介绍其中的关键知识点,特别是那些对于初学者而言至关重要的命令。 #### 一、帮助与查询命令 **help** 此命令用于查看Shell内置命令的帮助信息。例如: ``` help ...
以下是一些常用的Linux命令及其详细解释: 1. **目录操作命令** - **cd**:改变当前工作目录。例如,`cd /etc/a` 将当前目录切换到`/etc/a`。 - **pwd**:显示当前工作目录。运行`pwd`即可查看当前所在目录。 - ...
Linux命令手册是Linux用户不可或缺的参考资料,尤其对于初学者和经验丰富的系统管理员来说,它能够提供快速查询命令用法的能力。手册涵盖的内容广泛,包括文件目录管理、文档编辑和文件传输等多个方面。在此,我将...
`ls` 是Linux中最常用的命令之一,通过添加不同的选项可以实现更丰富的功能,如 `-l` 显示详细信息、`-a` 显示隐藏文件等。 2. **cd** - **功能说明**:从当前工作目录切换到指定的工作目录。这是日常操作中必不可...
### Linux命令大全详解 Linux作为一款强大的开源操作系统,在IT领域占据着极其重要的地位。无论是服务器运维、开发环境搭建还是日常的文件管理,掌握一系列基本且实用的Linux命令都是必不可少的。本文将详细介绍...
- **功能说明**: 查看 Linux Shell 内置命令的帮助文档,例如查看 `cd` 命令的帮助可以使用 `cd --help`。 #### 二、文件和目录操作命令 **3. ls** - **命令**: `ls [选项] [文件或目录]` - **功能说明**: 列出...
Linux 中常用的 shell 命令实验 Linux 操作系统中,shell 命令是最基本也是最重要的命令之一。掌握这些命令可以帮助用户更好地使用 Linux 系统。在这篇文章中,我们将讨论 Linux 中常用的 shell 命令,并通过实验来...
Linux 常规操作命令大全 Linux 系统中有很多实用的命令,掌握这些命令可以帮助我们更好地使用 Linux 系统。以下是 Linux 常规操作命令大全,涵盖了文件操作、磁盘操作、系统操作等多方面的知识点。 文件操作命令:...