shell编程之字符串操作

shell中字符串操作主要有以下几种,其中:pattern ,old中可以使用通配符:

${#var} :返回字符串变量var的长度

${var:m} :返回${var}中从第m+1个字符到最后的部分,其中m的取值从0到${#var}-1

${var:m:len}:返回${var}中从第m+1个字符开始,长度为len的部分

[root@tlinux shell]# var=abcdefg
[root@tlinux shell]# echo ${#var}
7
[root@tlinux shell]# echo ${var:2}
cdefg
[root@tlinux shell]# echo ${var:2:3}
cde

 

${var#pattern}:删除${var}中开头部分与pattern匹配的最小部分(剩余部分)

${var##pattern}:删除${var}中开头部分与pattern匹配的最大部分

${var%pattern}:删除${var}中结尾部分与pattern匹配的最小部分

${var%%pattern}:删除${var}中结尾部分与pattern匹配的最大部分

 1 #! /bin/bash
  2 
  3 var="/aa/bb/cc"
  4 
  5 result1=${var#*/}
  6 result2=${var##*/}
  7 result3=${var%/*}
  8 result4=${var%%/*}
  9 echo $var
 10 
 11 echo '${var#*/}='$result1
 12 echo '${var##*/}='$result2
 13 echo '${var%/*}='$result3
 14 echo '${var%%/*}='$result4
~                 
/aa/bb/cc
${var#*/}=aa/bb/cc
${var##*/}=cc
${var%/*}=/aa/bb
${var%%/*}=

${var/old/new}:用new替换${var}中第一次出现的old

${var//old/new}:用new替换${var}中所有的old(全局替换)

 

posted on 2019-05-06 17:26  wsw_seu  阅读(229)  评论(0编辑  收藏  举报

导航