Shell脚本编程中截取字符串方法

例如:

  假设变量var=http://www.baidu.com/111.png

1.#号截取(删左留右)

echo ${var#*//}

# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://

2.##号截取(删左留右)

echo ${var##*.}
##
*.表示从左边开始删除最后一个.及其至左边的所有字符 即删除http://www.baidu.com/111.

3.%截取(删右留左)

echo ${var%/*}
%/* 表示从右边开始,删除第一个 / 号及右边的字符 即删除/111.png

4.%%截取(删右留左)

echo ${var%%.*}
%%/* 表示从右边开始,删除最后(最左边)一个.号及其至右边的所有字符

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

echo ${var:0:4}
从左边第1个字符开始,截4个字符长度 即截取出http

6.从左边第几个字符开始,一直到字符串的最后结束

echo ${var:7}
从左边第7个字符开始,一直截到最后 即删除http:
//

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

echo ${var:0-7:3}
从右边第7个字符开始,向后截3个字符 即截出111

8.从右边第几个字符开始,一直到字符串的最后结束

echo ${var:0-3}
从右边第3个字符开始,一直截到最后 即截出png

注意:从左边开始时,第一个字符用0表示;

   从右边开始时,右边的第一个字符用0-1表示;

原文地址:https://www.cnblogs.com/trymybesttoimp/p/5973582.html