Linux Bash Shell字符串分割substring等(转)

Posted devilwind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Bash Shell字符串分割substring等(转)相关的知识,希望对你有一定的参考价值。

原文https://blog.csdn.net/wuyinggui10000/article/details/52779364

脚本开发中遇到的问题是:原java中的字符串分割操作(substring indexOf等)不知道怎么处理(比如/a/b/c/d.txt我想知道文件的名称)

查询相关资料得知,shell中可以采用标识符来做分割字符串,包括substring(0,index)和substring(index,last)

${var#*substr}会删除从0到substr子字符串最后出现的位置

${var##*substr}会删除substr开始到字符串结束的位置

${var%substr*}会删除字符串最后一次出现到字符串结束的位置的部分

${var%%substr*}会删除字符串第一次出现到结束的部分

  1. a="/a/b/c/d.txt"  
  2. b="/"  
  3. echo ${a#*$b}  

会返回

a/b/c/d.txt

 

  1. a="/a/b/c/d.txt"  
  2. b="/"  
  3. echo ${a##*$b}  


会返回

d.txt

  1. a="/a/b/c/d.txt"  
  2. b="/"  
  3. echo ${a%$b*}  

会返回

/a/b/c

 

  1. a="/a/b/c/d.txt"  
  2. b="/"  
  3. echo ${a%%$b*}  


会返回空

 




以上是关于Linux Bash Shell字符串分割substring等(转)的主要内容,如果未能解决你的问题,请参考以下文章

shell 字符串分割

Linux系列:Linux Shell实现字符串分割

linux shell 检查是不是是root用户

linux shell bash 内置变量参考

linux shell:字符串分割并反序输出

Linux系统Bash(Shell)基础知识