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的小小心得

    1、命令行历史  history(history显示当前终端的历史记录)    (1) 保存你输入的命令历史。 可以用它来重复执行命令    (2) 登录shell时, 会读取命令历史文件中记录下的命令 ~/.bash_history    (3)登录进shell后新执行的命令只…

    Linux干货 2017-07-15
  • 命令read

    read命令是一个bash命令,它用于从键盘或标准输入中读取文本.我们可以使用read以交互的形式读取来自用户的输入.并且read还提供一种不需要按回车就能够输入参数的方法. read可以从标准输入中读取单独的一行,或者使用-u选项,从文件描述符FD中读取.并且这单独的行被分隔成多个域,第一个词被赋值给第一个变量,第一个赋值给第二个变量,以此类推,直到剩下的…

    Linux干货 2016-08-12
  • btrfs管理和应用

    一、btrfs概念        在btrfs中存在三种类型的数据,data, metadata和system。它们表示:        DATA           数据块。       &nbsp…

    系统运维 2016-04-12
  • 网络基础总结

    这周南老师出差了,由王老师给我们代课,这周我们主要学习了网络基础,相比着之前,主要是理论加理解。下面我总结一下。 处于21世纪的我们,互联网时代,网络在我们身边的各个角落,覆盖了我们的衣食住行,带来 很多方便;首先什么是网络, 家庭办公室,移动用户,总部,分支机构。。。都在用互联网相连着,省去了许多麻烦,时间,加快了办公效率; 资源共享的功能和优点:数据和应…

    2017-09-02
  • Ansible+Corosync+Pacemaker+nfs实现http高可用

    目录: (一)实验环境 (二)准备工作 (三)为node1和node2配置基础配置 (四)使用ansible部署nfs (五)使用ansible部署corosync和pacemaker (六)使用ansible安装crmsh工具 (七)使用crmsh配置http高可用 (八)验证 (九)需要注意的地方 (一)实验环境 1.1、环境拓扑 1.2、所需系统 4台…

    Linux干货 2016-04-29
  • 文本处理工具sed、vim

    文本处理工具sed、vim 一、sed的使用 1、sed的概念 sed简单地说sed是一种行处理工具。 sed 是一种流性的行编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末…

    Linux干货 2016-08-11