美文网首页
05_01_egrep及扩展正则表达式05_02_bash脚本编

05_01_egrep及扩展正则表达式05_02_bash脚本编

作者: ty杜牧 | 来源:发表于2018-01-25 16:25 被阅读0次

    05_01_egrep及扩展正则表达式

    REGEXP:正则表达式

    基本正则表达式:Basic REGEXP

    grrep:使用基本正则表达式定义的模式来过滤文本的命令

    -E:使用扩展正则表达式

    -A   n:显示匹配到的行以及其下的n行;

    -B   n:显示匹配到的行以及其上的n行;

    -C   n:显示匹配到的行和其上与下各n行;

    注:grep -E就相当于egrep命令,两者是一样的,可以看做egrep是grep -E的别名

    扩展正则表达式:Extended REGEXP

    在扩展正则表达式中, 字符匹配以及锚定字符与基本正则表达式中用法是一样的;

    次数匹配略有不同,其中

    *:一样,表示匹配前面字符任意次;

    ?:在扩展正则表达式中不用加反斜杠转义,用法仍一样;

    +:匹配其前面的字符至少一次;

    {m,n}:在扩展正则表达式中不用加反斜杠转义;

    分组字符:

    同样使用括号()但是也不需要使用转义符;

    或者字符:

    |   :例如C | cat 表示匹配C或cat字符二者其中之一

    例如显示所有以数字结尾且文件名中不包含空白的文件:

    ls  *[^[:space:]]*[0-9]

    05_02_bash脚本编程之一 变量、变量类型等

    fgrep :fast grep 快速搜索,不支持正则表达式,但是执行速度快;

    shell编程:

    编译器,解释器

    编程语言:机器语言,汇编语言,高级语言

    静态语言:编译型语言

            强类型(变量),事先转换成可执行格式,例如:

            C、C++、JAVA、C#

    动态语言:解释型语言,on the fly

            弱类型

            边解释边执行,例如:

            PHP、SHELL、python、perl

    面向过程::Shell,C

    面向对象:JAVA、python、perl,C++

    变量:内存空间,命名

    内存:编制的存储单元

    变量类型:事先确定数据的存储长度和格式,分为:

        字符型

        数值型,又分为:

                    整型,浮点型(小数)

        布尔型(真和假)

    逻辑运算:与,或,非,异或

    与:两个条件都需要满足,才符合条件,例如 :

    1 & 0 = 0     ;  0 & 1 = 0    ; 0 & 0 = 0     ; 1 & 1 =1                 

    或:二选一,两个条件中只要有一个满足即可

    非:用叹号!表示,即为

    !真=假              ;         !假=真

    强类型语言:变量在使用前,必须事先声明,甚至还需要初始化;

    弱类型语言:变量用时声明,甚至不区分变量类型;

    shell:是一个弱类型的编程语言

    变量赋值:VAR_NAME(变量名)=value(值)

    bash变量类型分为:环境变量, 本地变量(局部变量),位置变量,特殊变量

    本地变量,声明:

    VARNAME=value:作用域为整个bash进程;

    局部变量,声明:

    local  VARNAME=value:作用域为当前代码段;

    环境变量,声明:

    export  VARNAME=value:作用域为当前shell进程及其子进程;

    位置变量:

    $1,$2,...

    特殊变量:

    $?:用于保存上一个命令的执行状态返回值;

    程序执行,可能有两类返回值:

    1、程序执行结果;

    2、程序状态返回代码(0-255)

            0        :正确执行

            1-255 :错误执行,1,2,127错误代码是系统预留的

    引用变量:

    ${VARNAME}:其中括号在不影响引用时可省略;

    撤销变量:

    unset  VARNAME(变量名)

    查看当前shell中变量:

        set

    脚本

    命令的堆砌,按实际需要,结合命令流程控制机制实现的源程序

    #!/bin/bash     (shebang:魔数,shell脚本第一行都为这个,注意这个路径是运行用户所在地bash路径)

    # 以#开头的为注释行,不执行

    注:脚本在执行时会启动一个子shell进程:

            命令行中启动的脚本会继承当前shell环境变量;

            系统自动执行的脚本(非命令行启动)就需要自我定义需要的各环境变量

    相关文章

      网友评论

          本文标题:05_01_egrep及扩展正则表达式05_02_bash脚本编

          本文链接:https://www.haomeiwen.com/subject/yxxuaxtx.html