第一种
${parameter%word} #最小限度从后面截掉word
${parameter%%word} #最大限度从后面截掉word
${parameter#word} #最小限度从前面截掉word
${parameter##word} #最大限度从前面截掉word
word可以是一个具体的字符串,也可以是一个模式字符串。
例子:
str='http://www.你的域名.com/cut-string.html'
echo ${str%/*}
#结果
http://www.你的域名.com
echo ${str%%/*}
#结果
http:
echo ${str#*//}
#结果
www.你的域名.com/cut-string.html
echo ${str##*/}
#结果
cut-string.html
第二种:
${variable:n1:n2} #截取变量variable从左边起索引n1开始的n2个字符。n1表示索引,索引从0开始;n2表示截取的字符个数。
变种如下:
#截取变量variable从左边起索引n1开始的所有字符。
${variable:n1}
#截取变量variable从右边起第n1个字符开始的n2个字符。
${variable:0-n1:n2}
#截取变量variable从右边起第n1个字符开始的所有字符。
${variable:0-n1:n2}
例子:
variable='http://www.你的域名.com/cut-string.html'
echo ${variable:0:4}
#结果
http
echo ${variable:7}
#结果
www.你的域名.com/cut-string.html
echo ${variable:0-15:10}
#结果
cut-string
echo ${variable:0-15}
#结果
cut-string.html
第三种:
借助其他shell命令,如cut
cut命令的选项主要有以下几个,索引从1开始:
echo $variable | cut -c 1-4
#结果
http
echo $variable | cut -c 8-
#结果
www.你的域名.com/cut-string.html
echo $variable | cut -d":" -f1
#结果
http