8-4 文本处理工具

本节主要了解文本处理工具




文件查看命令:cat  tac  rev

    cat [OPTION]… [FILE]…

        -E:显示行结束符$

        -n:对显示出的每一行进行编号

        -A:显示所有控制符

        -b:非空行编号

        -s:压缩连续的空行成一行

图片1.png

tac:倒着显示内容

rev:倒着显示内容,同一行内也倒着

 

分页查看文件:more

     more [OPTIONS…] FILE…

         -d:显示翻页及退出提示

  less :一页一页地查看文件或STDIN 输出

查看时有用的命令包括:

       /文本  搜索 文本

       n/N:跳到下一个 or  上一个匹配

 less 命令是man命令使用的分页器

 

显示文本前或后行内容

 head [OPTION]… [FILE]…

     -c #:指定获取前#字节

     -n #:指定获取前#行

     -#:指定行数

图片2.png

 tail [OPTION]… [FILE]…

      -c #:指定获取后#字节

      -n #:指定获取后#行

      -#:

      -f:跟踪显示文件新追加的内容,常用日志监控

图片3.png

 

文本内容切割:cut  

    cut [OPTION]… [FILE]…

       -d delimiter:  指明分隔符

        -f fileds:指明需要取出的字段

            #:第#个字段

            #,#,# :离散的多个字段,例如1,2,3

            #-#:连续的多个字段,  例如1-6

            混合使用:1-3,7,9,10-13

            -c 按字符切割

            –output-delimiter=STRING 指定输出分隔符

图片4.png

 

 合并文件

      paste  合并两个文件同行号的列到一行

      paste [OPTION]… [FILE]…

          -d:分隔符: 指定分隔符,默认用TAB

          -s:所有行合成一行显示

图片5.png

 

字符统计:wc

wc [OPTION]…[FILE]…

   -l:统计行数

   -w:统计单词个数

   -c:统计字符个数

   -m:只计字符总数

图片6.png

其中1是行数,2是单词个数,7是字符数

 

 

文本排序:sort

  把整理过的文本显示在STDOUT ,不改变原始文件

   sort [OPTION]… [FILE]…

    -r:逆序

    -n:以数字大小进行排序

    -f:忽略字符串中的字符大小写

    -u:删除输出中的重复的行

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

    -k #:以指定字段为标准排序

图片7.png

取第三列以数字大小排列

 

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

    uniq [OPTION] …[INPUT[OUTPUT]]

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

            -d:仅显示重复的行

            -u:仅显示不重复的行

 

grep

   文本过滤( 模式:pattern) 工具;grep, egrep, fgrep (不支持正则表达式)

   作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行;

   模式:由正则表达式字符及文本字符所编写的过滤条件

   grep [OPTIONS] PATTERN [FILE…]

   –color=auto:  对匹配到的文本着色显示;

  -v:显示不能够被pattern 匹配到的行;

  -i:忽略字符大小写

  -n:显示匹配的行号

  -c:统计匹配的行数

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

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

  -A #after,匹配到的后#

  -B #before,匹配到的前#

  -C #context,匹配到的前后各#

  -e:实现多个选项间的逻辑or 关系

       grep  -e cat -e dogfile

  -w :整行匹配整个单词

  -E :使用ERE,支持使用扩展的正则表达式

图片8.png

 

元字符:

      字符匹配:

          . :匹配任意单个字符

          []:匹配指定范围内的任意单个字符

          [^]:匹配指定范围外的任意单个字符

               表达方法:

                   [:alnum:]:表示所有字母和数字

                   [:alpha:]:表示所有的字母(不区分大小写)

                   [:digit:]:表示所有的数字

                   [:lower:]:表示所有的小写字母

                   [:upper:]:表示所有的大写字母

                   [:space:]:表示所有的空白符号

                   [:punct:]:表示所有的标点符号

      次数匹配:用在要指定次数的字符后面,用于指定前面的字符要出现的次数

          *:匹配前面的字符任意次,包括0次 次

              默认正则表达式是工作在贪婪模式下,尽可能长的匹配

          .* :任意长度的任意字符

          \? :匹配其前面的字符0 1次,即可有可无

          \+ :匹配其前面的字符至少1

          \{m\} :匹配前面的字符m

          \{m,n\} :匹配前面的字符至少m 次,至多n次(小于等于,大于等于)

          \{0,n\} :匹配前面的字符至多n

          \{m,\} :匹配前面的字符至少m

     位置锚定:对特定位置进行定位

         ^:行首锚定,用于模式的最左侧

         $:行尾锚定,用于模式的最右侧

         ^PATTERN$:用于模式匹配整行

             ^$:空行,不包含有空格的行

             ^[[:space:]]*$:空白行,包含有空格的行

          \< 或 或 \b:词首锚定,用于单词模式的左侧

          \> 或 或 \b:词尾锚定;用于单词模式的右侧

          \<PATTERN\>:匹配整个单词

         分组:是指将一个或多个字符捆绑在一起,当做一个整体进行处理

               符号是: \(\):

                   如:\(xy\)*ab 表示xy这个整体可以出现无数次

图片9.png

       查找出passwd文件中,r后跟任意小写字母再跟t的字符

扩展正则表达式元字符:

     字符匹配:

         .:任意单个字符

         []:指定范围内的单个字符

         [^]:不在指定范围内的单个字符

次数匹配:

    *:任意次

    ?:0次或1

    +:至少1

    {m}:精确匹配m

    {m,n}:至少m次,至多n

    {m,}:至少m

    {0,n}:最多n

 分组:

     ():用括号括起来表示要引用的内容,不需要转义

 或者:

      a|b:a或者b

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

(0)
DadiDadi
上一篇 2016-08-07 22:05
下一篇 2016-08-07 22:05

相关推荐

  • 用户、组、权限 等相关命令

    用户、组、文件权限属性 1、用户和组的配置文件 在Linux中用户和组的配置文件主要为: /etc/passwd :存放用户及其属性的信息(名称、GID、UID) /etc/group :存放组及其属性信息 /etc/shadow :存放用户密码及其相关属性 /etc/gshadow :存放组密码及其相关属性 (1)、/etc/passwd的格式 root:…

    Linux干货 2017-07-29
  • 编译安装nginx并实现反向代理负载均衡和缓存功能

    一、编译安装nginx 1、下载 [root@ns1 ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz 2、解压 [root@ns1 ~]# tar xf nginx-1.10.0.tar.gz [root@ns1 ~]…

    Linux干货 2016-05-25
  • linux bash环境变量简单总结

    一.环境变量简介Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都 是相同的,这个默认环境实际上就是一组环境变量的定义。 环境变量是全局的,设置好的环境变量可以被所有当前用户所运行的程序所使用。 用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 …

    Linux干货 2015-09-14
  • 文件查找locate 和 find

    大纲 一、前言 二、locate 三、find 一、前言 在windows下,我们查找文件,可以在搜索里面,输入文件名或通配符就可以进行搜索。在Linux下,要查找文件可以找locate 或 find命令进行查找,而且这些命令还有其他特别的功能。 二、locate 特点:此命令是非实时查找命令,依赖于索引,因此搜索速度快。但是索引的构建是当系统空闲时由系统自…

    Linux干货 2015-05-11
  • Linux系统网络属性管理

        每台计算机主机连入internet都必须给主机设定以个合法的IP地址。这些IP参数大概包括IP地址、子网掩码、网关、路由、DNS等。在Linux中,大多数命令配置网络配置都是临时生效,想要网络服务永久有效就必须写入配置文件中,所以有时候更改配置重启主机是为了让内核重读配置文件到内核中,因为配置文件属于用户空间的文件。大多数网络配置…

    Linux干货 2016-09-18
  • 马哥教育网络19期+第十六周课程练习

    编译安装LNMP 一、安装Nginx: 1、解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries"。同时,还需要专门安装pcre-devel包: # yum -y ins…

    Linux干货 2016-08-22