zoukankan      html  css  js  c++  java
  • 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。通过在.之前加上前缀\,从而忽略了.的特殊意义     

             

  • 相关阅读:
    C#怎样保证弹出窗体是唯一并居中显示
    1、怎样设置C#OpenFileDialog(文件选择窗体)的指定路径、文件格式等属性(设置打开默认路径、文件格式、窗体显示文本)
    FTP在CentOS上安装与使用
    nano在CentOS上的安装和使用
    CentOS 7 安装php5.6,Nginx,Memcached环境及配置
    PhpStorm 2017.1安装及破解过程
    在唯一密钥属性“name”设置为“ExtensionlessUrlHandler-Integrated-4.0”时,无法添加类型为“add”的重复集合项
    获取含有字符串数组里元素的数据,并批量删除
    如何去掉browserLinkSignalR
    使用VS2015开发asp程序让IIS express 允许的父路径的方法
  • 原文地址:https://www.cnblogs.com/rohens-hbg/p/5089849.html
Copyright © 2011-2022 走看看