摘要
本文部分内容来源于网络,个人收集整理,请勿传播
shell中截取字符串有很多种方法,通常情况可以使用sed、awk、cut
来进行字符串切割,本文使用的是shell中字符串本身具有的字符串切割方法
字符串切割一共有9种使用方法
1 | ${expression} |
字符串切割的详细使用方式
使用 % 号操作符
- 用途是从右边开始删除第一次出现子字符串即其右边字符,保留左边字符。
- 用法为%substr*
例如:
1 | str='http://www.你的域名.com/cut-string.html' |
得到的结果为http://www.你的域名.com,即删除从右边开始到第一个"/"及其右边所有字符
使用 %% 号操作符
- 用途是从右边开始删除最后一次出现子字符串即其右边字符,保留左边字符。
- 用法为%%substr*
例如:
1 | str='http://www.你的域名.com/cut-string.html' |
得到的结果为http://www.你的域名.com,即删除从右边开始到最后一个"/"及其右边所有字符
使用 # 号操作符
- 用途是从左边开始删除第一次出现子字符串即其左边字符,保留右边字符。
- 用法为#*substr
例如:
1 | str='http://www.你的域名.com/cut-string.html' |
得到的结果为www.你的域名.com/cut-string.html,即删除从左边开始到第一个”//“及其左边所有字符
使用 ## 号操作符
- 用途是从左边开始删除最后一次出现子字符串即其左边字符,保留右边字符。
- 用法为##*substr
例如:
1 | str='http://www.你的域名.com/cut-string.html' |
得到的结果为cut-string.html,即删除最后出现的”/“及其左边所有字符
缺省值替换的详细使用方式
从左边第几个字符开始以及字符的个数
- 用法为:start:len
原创
1 | str='http://www.你的域名.com/cut-string.html' |
从左边第几个字符开始一直到结束
- 用法为:start
例如:
1 | str='http://www.你的域名.com/cut-string.html' |
从右边第几个字符开始以及字符的个数
- 用法:0-start:len
例如:
1 | str='http://www.你的域名.com/cut-string.html' |
从右边第几个字符开始一直到结束
- 用法:0-start
例如:
1 | str='http://www.你的域名.com/cut-string.html' |
Shell判断字符串包含的方法
利用grep查找
1 | strA="long string" |
利用字符串运算符
1 | strA="helloworld" |
利用通配符
1 | A="helloworld" |
利用case in
语句
1 | thisString="1 2 3 4 5" # 源字符串 |
利用替换
1 | STRING_A=$1 |