zoukankan      html  css  js  c++  java
  • Linux-awk和shell编程初步

    1 awk

      格式: awk -选项 '处理' 输入

      awk -F : '{print $1}' file

      -F指定分隔符, 默认是空格

      $1 分割后的第一部分

      $0 获得所有部分 

      NF 表示以分隔符分割后一共有多少段

      $NF 最后一段

      NR 显示行号

      

      通过NR来控制输出的行

      

      通过正则表达式来控制输出

      

        注意要使用双引号

        注意要使用==或者>=等比较符号

        如果要传入参数 可用-v来限定

          

      

        针对行的正则表达式

      

        其中~用于指定针对每行的某一部分进行正则匹配

    2 补充命令

    1 sort

      可以将输入的内容按字典顺序排序, 但是只是针对行的排序

    2 uniq

      去除重复的行

      uniq -c

        显示重复行的信息

    3 cut

      效果等同于awk

      -d 指定分割符

      -f 指定获得的分组

        cut -d : -f1.3

    4 du

      du -sh 路径

      查看文件或者文件夹大小

    5 find

      find 查找点 -type 文件类型 -name 文件名(一般用通配符) -size 文件大小

        文件类型 常用的有f 普通文件

        -size可以由多个 -表示小于 +表示大于

    6 scale和bc

      echo 'scale=2;30/100' | bc -l

    3 shell编程

    3.1 shell的基本

      shell脚本可读, 必须要有可执行权限

      shell脚本是从上往下逐行解释执行的

      shell脚本的第一行往往是

        #! shell解释器文件路径

        #! /bin/bash

      shell的注释是以#开头的

      shell脚本的输出

        echo 输出字符串等

        echo "hello world"

      shell脚本一般是以.sh结尾

      执行shell脚本的方法

        ./shell脚本名

        ./hello.sh

      shell在赋值的时候等号前后不能有空格, 这个别的语言不同

      变量的定义之后 可以用unset 变量名, 取消该变量

      $HISTSIZE 查看history的缓存最大数量

      $PS1 用于设定命令号首部固定的样式模式

      在shell中, 要想执行运算最好用[]包裹起来, 且调用变量的值的时候要用$

      ((可以在里面直接运行数学运算))

    3.2 条件测试

      测试结果用$?表示 0表示正确 1表示错误

      通过echo $?来输出显示

      数值测试

        [ 数值1 关系运算符 数值2 ]

        关系运算符有:

          -eq (equal) 相等

          -ne (not equal) 不相等

          -gt 大于

          -lt 小于

          -ge 大于等于

          -le 小于等于

      字符串测试

        [ 关系运算符 字符串 ]

        [ 字符串1 关系运算符 字符串2 ]

        关系运算符

          = 相等

          != 不相等

          -z 为空

          -n 不为空

    # [ "abc" = "abc" ]
    # echo $?
    0
    
    # [ "abc" = "cba" ]
    # echo $?
    1

      文件状态测试

        [ 关系运算符 字符串 ]

        运算符

        

        

      条件测试的逻辑操作符

      -a 逻辑与

      -o 逻辑或

      ! 逻辑否

        

    3.3 控制结构

      shell的控制结构有if-then-else, case, for, while, until

      if-then-else的基本语法格式如下

        

      case的基本语法格式如下

        

      例子

        

        

      for循环的基本语法格式

        

      例子

         

        

       expr命令计数器

        expr 数值1 运算符 数值2

        常用的有+  -   *   /四种

      while

        

      until的结果与while一致

    3.4 脚本参数交互

      运行时传入参数

      

      

      

      用户交互

        read 变量1 [变量2...]

    人若有恒 无所不成
  • 相关阅读:
    JMeter常用函数__uuid()
    JMeter常用函数__time()
    Executing a stored procedure with an output parameter using Entity Framework
    编程语言API,你最青睐哪一款?
    开发者最爱的三款开发工具
    Arrow:轻量级的Python时间日期库
    专家观点:HTML5无法彻底抹杀Native应用
    iPhone的13个隐秘功能
    安装SQL server出现的问题及解决方法
    用vb编写的qq靠边隐藏功能
  • 原文地址:https://www.cnblogs.com/weihuchao/p/6605957.html
Copyright © 2011-2022 走看看