zoukankan      html  css  js  c++  java
  • shell- 字符串处理 、 扩展的脚本技巧 、 正则表达式

    字符串截取的方法
      方法一:使用${}表达式
        格式:${var:起始位置:长度}
      方法二:使用expr substr
        格式:expr substr "$var" 起始位置 长度
      方法三:使用cut工具
        格式:echo $var | cut -b 起始位置 结束位置

    取目录位置
      格式:dirname "字符串"
    取文档的基本名称
      格式:basename "字符串"

    字符串替换的方法
      只替换第一个匹配的结果
        格式:${var/old/new}
      替换全部匹配的结果
        格式:${var//old/new}

    字符串掐头
      从左向右,最短匹配删除
        格式:${变量名#*关键词}
      从左向右,最长匹配删除
        格式:${变量名##*关键词}
    字符串去尾
      从右向左,最短匹配删除
        格式:${变量名%关键词*}
      从右向左,最长匹配删除
        格式:${变量名%%关键词*}

    批量修改文件后缀名

    [lin@shidai ~]$ cat mv.sh
    #!/bin/bash
    for FILE in *.doc
    do
        mv $FILE ${FILE%.doc}.txt
    done

    变量初始值的检测及设置
      取值,${var:-word}
        若变量var已经存在且非null,则返回$var的值
        否则返回临时字符串word,变量var值不变
      赋值,${var:=word}
        若变量var已经存在且非null,则返回$var的值
        否则返回字符串word,且把word赋值给var变量

    shell数组定义/赋值
      方法一:整体赋值
        格式:数组名=(value1 value2 value3)
        示例:VU=(user1 ftp mail python)
      方法二:为单个元素赋值
        格式:数组名[下标]=值
        示例:VU[0]=ftp,VU[1]=mail,VU[2]=python
    输出数组元素
      获取单个元素
        格式:${数组名[下标]}
      获取所有元素
        格式:${数组名[@]}
      获取数组元素个数(长度)
        格式:${#数组名[@]}
      获取连续的多个数组元素
        格式:${数组名[@]:起始下标:元素个数}

    正则表达式

    ............................

  • 相关阅读:
    sql行列互转
    用户角色权限设计思路
    树节点类型数据的Datatable转Json
    [C#]最简单的Base64加密解密
    WEB打印控件Lodop(V6.x)使用说明及样例
    js代码 设为首页 加入收藏
    Json字符转化成对象
    C++函数返回值为const
    7.双指针(two pointer)
    线程同步与锁
  • 原文地址:https://www.cnblogs.com/linyouyi/p/9781013.html
Copyright © 2011-2022 走看看