Shell脚本之字符串快速截取

Shell脚本中常见的字符串截取方法,快速定位字符串。

Shell脚本之字符串快速截取_第1张图片

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

 

你可能感兴趣的:(Linux,个人感想,shell,字符串截取,shell脚本,shell,script)