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
    输出数组元素
      获取单个元素
        格式:${数组名[下标]}
      获取所有元素
        格式:${数组名[@]}
      获取数组元素个数(长度)
        格式:${#数组名[@]}
      获取连续的多个数组元素
        格式:${数组名[@]:起始下标:元素个数}

    正则表达式

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

  • 相关阅读:
    web安全之ssrf
    web安全之sql注入布尔注入
    web安全之sql注入报错型注入
    web安全之sqlload_file()和into outfile()
    浅谈 FHQ-Treap
    (菜鸟都能看懂的)网络最大流最小割,Ford-Fulkerson及Dinic详解
    浅谈最小生成树
    浅谈强连通分量(Tarjan)
    DP-DAY3游记
    关于01背包问题
  • 原文地址:https://www.cnblogs.com/linyouyi/p/9781013.html
Copyright © 2011-2022 走看看