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程序包管理(一)RPM使用

    Linux程序包管理 在早期我们使用源代码的方式安装软件时,都需要先把源程序代码编译成可执行的二进制应用程序,然后进行安装。意味着每次安装软件都需要经过 预处理 –> 编译 –> 汇编–> 链接, 这个复杂的过程。为简化安装步骤,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提…

    Linux干货 2016-06-01
  • MongoDB安装部署手稿

    Edit MongoDB 手册 MongoDB 手册 第一章 Introduction MongoDB入门学习目录(建议) Databases Collections Documents 第二章 部署安装 1. Import the MongoDB public key 2. Configure the package management system (…

    Linux干货 2016-03-26
  • N25-第8周博客作业

    第八周 1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态; 在线的主机使用绿色显示; 不在线的主使用红色显示; #!/bin/bash # ip=172.16.250. for i in {1..254}; do if ping -w 1 -c 1 $ip$i &> /dev/n…

    Linux干货 2017-03-10
  • 网络配置之-nmcli

    使用nmcli配置网络 NetworkManager是管理和监控网络设置的守护进程,设备既就是网络接口,连接是对网络接口的配置,一个网络接口可以有多个连接配置,但同时只有一个连接配置生效。 1 使用nmcli配置主机名 CentOS6 之前主机配置文件:/etc/sysconfig/network CentOS7主机名配置文件:/etc/hostname,默…

    Linux干货 2017-05-07
  • iptables练习

    iptables实战 1.开启防火墙 systemctl start firewalld 2.清空所有的默认规则,定义自己的规则 iptables -F 查看此时的iptables iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD…

    2017-06-24
  • 任务计划和本地系统的默认邮件

    一、前言 二、本地mail的使用方法 三、at /batch 四、cron 五、小结   一、前言 linux 中执行任务计划有三种命令:at ,batch ,cron.其中,at,batch 是一次性执行,而crontab,则是周期性执行; 作业执行完成后,会通过邮件通知给作业提交者;因此,以下就从邮件说起。 二、邮件服务 Centos ,默认会…

    Linux干货 2015-05-13