文本处理工具

首先介绍一下wc 
这个工具,一看到这个词,我不禁捧腹大笑,这不是我们经常要去的地方吗?其实我们都错了,厕所的正确翻译为toilet,为什么叫wc 呢?这中间还有个故事,在这里就大概说一下吧。 很早以前,厕所Toilet里都有水箱water
closet, 人们一提到water closet就想到了toilet,因此water
closet就成了toilet的代名词。其实今天小编介绍的这个文本编辑工具,叫做word count.就是单词计数的意思,简写WC,大家不要误会啦。下面说一下它的详细用法:

下面编辑一个文件做例子介绍,请看图

文本处理工具

 

屏幕剪辑的捕获时间:
2017/7/27 20:45

 

这是小编写好的一个小小的文件,内容如上图所示,下面就展示wc的功能啦。

wc

wc   -m
filename  显示文件的字符数(可以查一下,一共20个字符,包括空格和换行符。)

文本处理工具

 

屏幕剪辑的捕获时间:
2017/7/27 20:47

wc  -l
filename  显示文件的行数

 

文本处理工具

 

wc    -c  filename  
显示文件的字节数

 

文本处理工具

 

屏幕剪辑的捕获时间:
2017/7/27 20:52

wc   -w  filename  显示文件的单词数(一共是五个单词,中间没空格,代表一个单词)

 

文本处理工具

 

屏幕剪辑的捕获时间:
2017/7/27 20:54

wc  filename (这里一共显示了三位数字,分别是:行数,单词数,字节)

 

文本处理工具

 

第二个就是用于文本排序的命令sort

常用的基本选项有:

sort   -r  filename  倒着排序显示

比如原本一个文件内容是这样的:

 

文本处理工具

 

经过排序后就变成这样了:

 

文本处理工具

 

屏幕剪辑的捕获时间:
2017/7/28 8:56

sort -n filename 按数字大小正显示

 

文本处理工具

 

屏幕剪辑的捕获时间:
2017/7/28 8:59

 

sort -u  filename 删除输出中的重复行

比如,刚开始文件内容是这样的:

文本处理工具

 

屏幕剪辑的捕获时间:
2017/7/28 9:02

 

经过排序后:

 

文本处理工具

 

屏幕剪辑的捕获时间:
2017/7/28 9:02

 

 

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

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

在最后再给大家介绍一个非常有趣的命令,,如果你学会了它,你就会感觉这个世界 充满了乐趣,其乐无穷。那就是grep.

grep是文本过滤工具,它的用处真的是非常的多,常常与正则表达式一块用,而且非常重要。下面介绍一下它的命令选项。

grep

–color=auto 将匹配的结果着色显示

文本处理工具

 

-v 反向匹配

示例:如一个文件包含许多内容,现在要显示不以f开头的文件,这时候就能派上用场了。

本来文件里的内容是:

文本处理工具

 

使用了grep -v 之后 就变成这样了:里面没有以f开头的文件了。

 

文本处理工具

 

-i 忽略大小写

示例:在文件f2中写入一些内容,如下:

 文本处理工具

     使用grep -I  “^t” 命令,意思是显示以t开头的字符,不区分大小写,结果如下:

 

文本处理工具

在创建的过程中,遇到了一些问题,比如我刚开始创建了f1文件,但是使用grep -I 命令之后不出现结果,在同学的帮助下 ,终于找到了问题所在,原因是我在f1里写入的内容如下:

文本处理工具

 

屏幕剪辑的捕获时间:
2017/7/29 16:46

 

为什么出不来结果呢,在这里我不得不佩服我自己,grep 
-I ^t 原本的意思是在每行选择以t开头的字符,我一共打了一行内容,中间并没有换行,所以开头是以q开始的字符,肯定出不来我想要的结果,以后一定要看清题意在写。

       -n 显示的结果前增加行号

文本处理工具

      c 仅显示匹配到结果的行数

     示例:f1内容如下:

文本处理工具

     使用了命令之后:

文本处理工具

下面的比较简单 ,我就不一一举例了。

      -o 仅显示匹配到的字符串

-q
静默模式,不输出任何信息

或者
&> /dev/null

-A#
显示关键字行及向后#行

-B#
显示关键字行及向前#行

nmap
-v -sP 172.17.252.0/24 |grep -B1 “Host is up”|grep for |cut -d”
” -f5 |wc -l

-C#
显示关键字向前#行,当前行,及向后#行

-e
关键字1 -e 关键字2  实现多个选项间的逻辑or关系

-w
匹配整个单词

-E
使用扩展正则表达式 或egrep

-F
不使用正则表达式 或 fgrep 

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

(0)
llllll
上一篇 2017-07-29
下一篇 2017-07-29

相关推荐

  • Linux磁盘管理

    面对一块硬盘,我们该如何使用它呢?本文从机械硬盘结构,分区,格式化,和挂载四个层次进行介绍。 一、机械硬盘结构 现在服务器使用机械式硬盘是主流,因为其造价低,容量大,和固态硬盘相比读写性能要差很多。机械硬盘主要由以下几个部件构成:转轴Spindle,盘片Platter,机械臂Boom,磁头Head。工作机制是马达带动盘片高速旋转,磁头对盘片进行擦写数据或读取…

    Linux干货 2016-09-01
  • Python的模块及详解(1)

    psuitil模块 filecmp模块 pycurl模块 一、系统性能信息模块psuitil psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,…

    2018-01-15
  • vsdf

    Linux干货 2017-10-23
  • 软件包管理工具——yum

        在linux上安装管理软件包会遇到包依赖问题,使用yum工具就可以很好的解决这个问题,yum的工作原理基于c/s结构:客户端与服务器,搭建好客户端与服务器,就可以使用yum工具了。 一、搭建yum仓库客户端 1.yum仓库的路径有三种:http://, ftp://,file://,首先创建一个配置文件,用来存放yum仓库的路径,…

    2017-08-06
  • LVM: Logical Volume Manager 逻辑卷管理

      一、LVM介绍         LVM: Logical Volume Manager, Version: 2             …

    Linux干货 2016-09-19
  • Java构造时成员初始化的陷阱

    让我们先来看两个类:Base和Derived类。注意其中的whenAmISet成员变量,和方法preProcess() public class Base {     Base() {         preP…

    Linux干货 2015-04-03