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