• Linux基础学习(11)--Shell编程


    第十一章——Shell编程

    一.基础正则表达式

        1.正则表达式与通配符(*,?,[ ]):

        2.基础正则表达式:

    二.字符截取命令

        1.cut字段提取命令:

    空格分割时,不知道空格有多少个,无法分割行数,grep -v取反

        2. printf命令(严格说不是字符提取命令,搭配awk使用):

     printf不能用于直接输出文件内容或用管道符接受上一句的输出,它会把文件当成字符串输出。

                                                        注:Linux系统无print命令,只有printf,print只能在awk命令里使用。

        3.awk命令:(默认能识别的分割符是制表符和空格)

    注:$0表示一行本身,$1表示文件第一列,awk外是单引号,{}里是双引号

     注:print自动在后面加一个换行符,printf不会

    BEGIN在数据处理之前执行一次

    END在数据处理之后执行一次

    FS指定分割符,第一列没有分割(默认为空格),先读入后分割

     

    加一个BFGIN在数据处理之前先指定分割符

    进行条件筛选

        4. sed命令:

    可以从管道符接受数据进行修改,可以直接修改命令的结果(而vim不可以)

    不加-n会先输出第二行然后输出所有行,一般和-n联立使用输出指定行

    在第一行后追加

     

    在行前插入

    注:不改变原文件,只修改输出,要修改原文件加-i,加-i时无输出,直接修改了原文件,有一定危险性(最好修改用vim)

     不加行号全文找

    三.字符处理命令

        1.排序命令sort:

        2.统计命令wc:

    四.条件判断

        1.按照文件类型进行判断:

        2.按照文件权限进行判断:

        3.两个文件之间进行比较:

        4.两个整数之间比较:

        5.字符串的判断:

    注:[ ]中括号两边有空格,否则会报错,还有==两边也有空格,不然一直为True输出yes

        6.多重条件判断:

    五.流程控制

        1. if语句:

               (1)单分支if条件语句:

                                     

                                        例子:判断分区使用率:
               (2)双分支if条件语句:

                                               

                                                   例子2:判断apache是否启动

     

                        (3)多分支if条件语句:

        2. case语句:

           

        3. for循环:

    更利于系统的维护和管理

     

        4. while循环:

     

     

    注:shell脚本语言(所见即所得)写的所有的脚本都不需要编译就可以直接运行,不是不需要编译,是在执行的同时进行编译,简化了编译过程。好处是编译更加简单,坏处是效率要更慢(主要工作是帮助管理员进行重复操作或运维工作)。

  • 相关阅读:
    wait(),notify(),notifyAll()
    AsyncTask
    锻炼记忆力
    apache URL重写 标志表 以及 错误解决方法
    php如何判断字符串是否是字母和数字的组合
    linux 下screen 使用
    MongoDB运行状态、性能监控,分析
    批量 汉字 转 拼音方法
    mysql 数据库备份
    LINUX下 一句话添加用户并设置ROOT权限
  • 原文地址:https://www.cnblogs.com/lyq-biu/p/9617917.html
Copyright © 2020-2023  润新知