shell编程初步、grep及正则表达式

shell程序:提供了编程能力,解释执行

程序的执行方式:

       计算机:运行二进制指令

       编程语言:

              低级:汇编

              高级:

                      编译:高级语言--->编译器-->目标代码

                                 C,C++,java

                      解释:高级语言-->解释器-->机器代码

                                 shell,perl,python

过程式编程:

       顺序执行

       循环执行

       选择执行

       shell编程:过程式、解释执行

              编程语言的基本结构:

                     数据存储:变量、数组

                     表达式

                     语句

 

shell脚本:文本文件

       #!/bin/bash

       #!/usr/bin/python

       #!/usr/bin/perl

  运行脚本:

         1.给予执行权限,通过具体的文件路径指定文件执行;

         2.直接运行解释器,将脚本作为解释器程序的参数运行;

变量:

       命名的内存空间:

       数据存储方式:ASCII

              字符:110,24

              数值:110 -->8

                      整型

                      浮点型

       变量:变量类型

               作用:

                       1、数据存储格式

                       2、参与的运算

                       3、表示的数据范围

               类型:

                       字符

                       数值:

                                整型  

                                浮点型                              

               编程程序语言:           

                      强类型:

                      弱类型:bash

                             把所有要存储的数据统统当作字符进行

                             不支持浮点数 

               逻辑运算:

                      true,false

 

grep:

        Linux上文本处理三剑客

               grep:文本过滤(模式:pattern)工具;grep、egrep、fgrep

               sed:stream editor,文本编辑工具

               awk:Linux上的实现gawk,文本报告生成器

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

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

               REGEXP(正则表达式):由一类特殊字符及文本字符所编写的模式,其中有些字符不表示字符字面意义,而表示控制或匹配的功能

                     分两类:基本正则表达式;扩展正则表达式

                     正则表达式引擎

 

                     grep [option] pattern [file...]

                                     选项:

                                             --color-auto:对匹配到的文本颜色显示

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

                                             -i:忽略字符大小写

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

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

基本正则表达式元字符:

       字符匹配:

              .:匹配任意单个字符

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

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

                     [:digit:]、[:lower:]、[:upper:]、[:alpha:]、[:alnum:]、[:punct:]、[:space:]

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

              *:匹配前面的字符任意次

                      例如:grep 'x*y'

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

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

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

       位置确定:

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

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

              ^PATTERNS:用于模式匹配整行

              ^$:空行                         

 

                                            

                                             

       

 

 

 

 

                     

posted @ 2018-07-08 19:18  axzq  阅读(115)  评论(0)    收藏  举报