Shell脚本中常见的字符串截取方法,快速定位字符串。
1.echo "example1:"
# {str是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符(即删除 http://)}
echo ${str#*//} #www.google.com/webhp?authuser=1
2.echo "example2:"
# {##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符}
echo ${str##*/} #webhp?authuser=1
3.echo "example3:"
# {%/* 表示从右边开始,删除第一个 / 号及右边的字符}
echo ${str%/*} #https://www.google.com
4.echo "example4:"
# {%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符}
echo ${str%%/*} #https:
5.echo "example5:"
# {其中的 0 表示左边第一个字符开始,5 表示字符的总个数}
echo ${str:0:5} #https
6.echo "example6:"
# {其中的 8表示从左边的第9个字符开始,一直到结束}
echo ${str:8} #www.google.com/webhp?authuser=1
7.echo "example7:"
# {其中的0-10表示从右边的第十个字符开始,8表示字符的个数}
echo ${str:0-10:8} #authuser
8.echo "example8:"
# {表示从右边第十个字符开始,一直到结束}
echo ${str:0-10} #authuser=1
#!/bin/sh
#author: Demo
str="https://www.google.com/webhp?authuser=1"
echo "str:" $str
echo "example1:"
# {str是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符(即删除 http://)}
echo ${str#*//} #www.google.com/webhp?authuser=1
echo "example2:"
# {##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符}
echo ${str##*/} #webhp?authuser=1
echo "example3:"
# {%/* 表示从右边开始,删除第一个 / 号及右边的字符}
echo ${str%/*} #https://www.google.com
echo "example4:"
# {%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符}
echo ${str%%/*} #https:
echo "example5:"
# {其中的 0 表示左边第一个字符开始,5 表示字符的总个数}
echo ${str:0:5} #https
echo "example6:"
# {其中的 8表示从左边的第9个字符开始,一直到结束}
echo ${str:8} #www.google.com/webhp?authuser=1
echo "example7:"
# {其中的0-10表示从右边的第十个字符开始,8表示字符的个数}
echo ${str:0-10:8} #authuser
echo "example8:"
# {表示从右边第十个字符开始,一直到结束}
echo ${str:0-10} #authuser=1