• shell脚本学习(五)


    1、统计文件的行数、单词数、字符数

      1)行数:

          wc -l file

           cat file | wc -l

      2)单词数

         wc -w file

         cat file | wc -w

      3)统计字符数

         wc -c file

         cat file | wc -c

     4)不跟任何参数时,三者都打印,打印顺序为行数、单词数、字符数

         wc file

         hbg@root:~/dl$ wc a.txt
           6  6 36   a.txt

         hbg@root:~/dl$ cat a.txt
        apple
        gold
        iron
        orange
        silver
        steel
     hbg@root:~/dl$

       5)打印文件中最长一行

           wc -L file

    2、正则表达式

       1) “?”用于匹配单词前后可能出现的空格

              例如:要匹配给定文本中的所有单词,可以使用下面的正则表达式:

                     ( ?[a-zA-Z]+ ?)            [a-zA-Z]代表一个字母或者多个字母(a-z 和 A-Z)

       2)正则表达式                  描述                    示例

           ^                              行起始标记                                              ^tux匹配以tux起始的行

           $                     行尾标记                                             tux$匹配以tux结尾的行

           .              匹配任意一个字符               hack. 匹配hackl和hacki,但是不能匹配hackl2和hacki1,它只能匹配单个字符

           []           匹配包含在[字符]之中的任意一个字符           coo[kl] 匹配cook 或 cool

           [^]            匹配除[^字符]之外的任意一个字符        9[^01] 匹配92、93,但是不匹配90和91

           [-]             匹配[]中指定范围内的任意一个字符               [1-5]匹配从1~5的任意一个数字

           ?           匹配之前的项一次货0次                colou?r匹配 color或colour但是不能匹配colouur

           +          匹配之前项一次或多次            rollno-9+匹配rollno-99、rollno-9,但是不能匹配rollno-

           *                             匹配之前的项0次或多次            co*l 匹配 cl、col、cooool等

           ()           创建一个用于匹配的子串            ma(tri)?x匹配 max 或 matrix

           {n}          匹配之前的项n次                [0-9]{3}匹配任意一位3位数,可以扩展为[0-9][0-9][0-9]

           {n,}         之前的项至少需要匹配n次          [0-9]{2,}匹配任意一个两位或更多位的数字

           {n,m}       指定之前的项必须匹配的最小次数和最大次数      [0-9]{2,5}匹配一个2位数到5位数之间的任意一个数字

           |          交替--匹配 | 两边的任意一项         Oct (1st | 2nd) 匹配Oct 1st或Oct 2nd

                                       转义符可以将上面介绍的特殊字符进行转义         a.b匹配 a.b,但不能匹配ajb。通过在.之前加上前缀\,从而忽略了.的特殊意义     

             

  • 相关阅读:
    不要跟亲戚谈生意
    docker学习连接
    docker之docker-compose——容器管理
    docker之镜像管理——仓库使用
    docker之入门——安装及基本命令
    orcle数据库新建用户
    hibernate select 查询方式总结
    Hibernate 主配置文件详解
    ActionContext和ServletActionContext小结(struts2)
    理解Java常量池
  • 原文地址:https://www.cnblogs.com/rohens-hbg/p/5089849.html
Copyright © 2020-2023  润新知