Linux中分析文本工具

一、收集文本统计数据wc

wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据,且不改变原始数据。

例如;

可以对文件或STDIN中的数据运行

$wcstory.txt

39   237   1901 story.txt

行数 字数  字符数

格式:cut [OPTION]… [FILE]…

选项:

使用-l来只计数行数

使用-w来只计数单词总数

使用-c来只计数字节总数

使用-m来只计数字符总数

ctrl –d 终止输入,把文本数据统计出来

二、文本排序sort

sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入,不改变原始文件。

格式:sort[options]file(s)

选项:

-r执行反方向(由上至下)整理

-n执行按数字大小整理

-f选项忽略(fold)字符串中的字符大小写

-u选项(独特,unique)删除输出中的重复行

-t c选项使用c做为字段界定符

-k X选项按照使用c字符分隔的X列来整理能够使用多次

指定:作为分隔符第三列按照从大到小排列

3.png

三、文本排序uniq

uniq命令:从输入中删除重复的前后相接的行

格式:uniq[OPTION]… [FILE]…

选项:

-c: 显示每行重复出现的次数;

-d: 仅显示重复过的行;

-u: 仅显示不曾重复的行;

连续且完全相同方为重复

常和sort 命令一起配合使用:

sort userlist.txt | uniq-c

例如:

4.png

四、比较文件diff

diff命令在最简单的情况下,比较给定的两个文件的不同


表示file1和file2第三行file2文件中多了546hfbjhf

1.png


diff命令的输出被保存在一种叫做“补丁”的文件中

使用-u选项来输出“统一的(unified)”diff格式文件,最适用于补丁文件


五、复制对文件改变patch

patch命令被用于为开放源代码软件安装补丁程序。让用户利用设置修补文件的方式,修改,更新原始文件。如果一次仅修改一个文件,可直接在命令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。


patch命令复制在其它文件中进行的改变(要谨慎使用!)

适用-b选项来自动备份改变了的文件

$diff-ufoo.conf-brokenfoo.conf-works>foo.patch

$patch-bfoo.conf-brokenfoo.patch


例如:用patch来恢复文件

恢复f2文件的时候文件名变成f1,原有的f1文件自动备份命名为.orig结尾的文件

2.png

六、练习

1、找出ifconfig命令结果中本机的所有IPv4地址

3.png

2、查出分区空间使用率的最大百分比值

4.png

3、查出用户UID最大值的用户名、UIDshell类型

5.png

4、查出/tmp的权限,以数字方式显示

6.png

5、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序

7.png

6、统计/etc/init.d/functions每个单词出现的字数

8.png





原创文章,作者:xiaoqing,如若转载,请注明出处:http://www.178linux.com/30535

(1)
xiaoqingxiaoqing
上一篇 2016-08-07 23:33
下一篇 2016-08-08 09:22

相关推荐

  • Linux 系统终端

    Linux系统的主要终端主要包含:控制台终端、控制终端、串口终端、伪终端、虚拟终端。 控制台终端:在Linux 系统中,计算机显示器通常被称为控制台终端(Console)内核将信息送到控制台终端上(/dev/console), 通过与console相关联的虚拟终端将信息显示到屏幕上。再开机过程中屏幕输出的信息,这个屏幕就是Console; 控制终端:键盘,显…

    Linux干货 2016-10-19
  • Linux三剑客之grep使用入门指南

    Linux的grep是一个具有强大功能的文本搜索工具,正确的学习和使用,能很大程度上提高工作效率,减轻运维工作所面临的压力。

    2017-09-09
  • 用户和组的管理

    在Linux系统上,用户管理是基于用户名和密码的方式进行资源的分配的,Linux上的用户分为以下的类别: 管理员 : root  ,UID为0 (这个用户有极大的权限,可以直接无视很多的限制,包括读写执行的权限。所以这个用户的使用要小心,因为他的权限太大。) 普通用户的UID:1-65535 普通用户又可分为: 系统用户(已经存…

    2017-04-08
  • 马哥教育网络班22期+第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别统计这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i sum1=0 declare -i sum2=0 shells=$(cat /etc/p…

    Linux干货 2016-11-28
  • 始于此

         “路漫漫其修远兮,吾将上下而求索”,一段路程的结束,意味着一段路程的开始,同岁月般,永远也不能回到出发的那一刻,你所能做的,就是一路走下去。回顾珍惜,却不能逗留。         我的学习宣言是“功崇惟志,业广惟勤”,时刻告诉自己,“功”出…

    Linux干货 2016-11-28
  • 系统启动流程

    linux系统启动流程 内核的设计结构单内核:linux(线程–lwp轻量级进程)微内核:windows(支持真正意义上的多线程) 单内核:很多功能驱动都集成在一起 微内核:内核很小,功能单一。模块化 linux为了适应众多用户的不同硬件需求,linux内核在设计上采用模块化设计。可以动态加载模块。核心模块:ko 内核所独有的。共享对象:so 红…

    Linux干货 2016-09-19