• Linux 的字符串截取很有用。有八种方法。


     

     
    1. 假设有变量 var=http://www.aaa.com/123.htm

      1. # 号截取,删除左边字符,保留右边字符。

      echo ${var#*//}

      其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符

      即删除 http://

      结果是 :www.aaa.com/123.htm

      2. ## 号截取,删除左边字符,保留右边字符。

      echo ${var##*/}

      ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符

      即删除 http://www.aaa.com/

      结果是 123.htm

      3. %号截取,删除右边字符,保留左边字符

      echo ${var%/*}

      %/* 表示从右边开始,删除第一个 / 号及右边的字符

      结果是:http://www.aaa.com

      4. %% 号截取,删除右边字符,保留左边字符

      echo ${var%%/*}

      %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符

      结果是:http:

      5. 从左边第几个字符开始,及字符的个数

      echo ${var:0:5}

      其中的 0 表示左边第一个字符开始,5 表示字符的总个数。

      结果是:http:

      6. 从左边第几个字符开始,一直到结束。

      echo ${var:7}

      其中的 7 表示左边第8个字符开始,一直到结束。

      结果是 :www.aaa.com/123.htm

      7. 从右边第几个字符开始,及字符的个数

      echo ${var:0-7:3}

      其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。

      结果是:123

      8. 从右边第几个字符开始,一直到结束。

      echo ${var:0-7}

      表示从右边第七个字符开始,一直到结束。

      结果是:123.htm

      注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

      su226

         su226

        136***1939@qq.com

         参考地址

      9个月前 (04-23)
    2.    wenxin667

        140***2918@qq.com

      @su226

      描述的有点儿不容易懂,看了好久才勉强明白 ## %%。

      #、## 表示从左边开始删除。一个 # 表示从左边删除到第一个指定的字符;两个 # 表示从左边删除到最后一个指定的字符。

      %、%% 表示从右边开始删除。一个 % 表示从右边删除到第一个指定的字符;两个 % 表示从左边删除到最后一个指定的字符。

      删除包括了指定的字符本身。

      wenxin667

         wenxin667

        140***2918@qq.com

      5个月前 (08-24)
    3.    amau

        1@1***t

      #!bin/bash
      #author:amau
      
      var="http://www.runoob.com/linux/linux-shell-variable.html"
      
      s1=${var%%t*}
      s2=${var%t*}
      s3=${var%%.*}
      s4=${var#*/}
      s5=${var##*/}

      echo "关于字符串的截取%,#的使用方法"
      echo "原字符串为:"${var}
      echo "%%t*的效果:"${s1}
      echo "%t*的效果:"${s2}
      echo "%%.*的效果:"${s3}
      echo "#*/的效果:"${s4}
      echo "##*/的效果:"${s5}

      运行结果:

      关于字符串的截取%,#的使用方法
      原字符串为:http://www.runoob.com/linux/linux-shell-variable.html
      %%t*的效果:h
      %t*的效果:http://www.runoob.com/linux/linux-shell-variable.h
      %%.*的效果:http://www
      #*/的效果:/www.runoob.com/linux/linux-shell-variable.html
      ##*/的效果:linux-shell-variable.html
  • 相关阅读:
    5月编程语言排行榜:动态语言的前世今生
    编程语言范式
    面向函数范式编程(Functional programming)
    bash脚本测试总结
    BASH的保护性编程技巧
    汇编Shellcode的技巧
    FreeBSD上编写x86 Shellcode初学者指南
    CnAms and cndoc
    Linux下shellcode的编写
    How To Configure NetScaler AppFlow for SolarWinds
  • 原文地址:https://www.cnblogs.com/zzl0916/p/13909172.html
Copyright © 2020-2023  润新知