shell字符串截取
目录
使用 # 号截取右边字符
格式为:
${url#*childStr}
childStr可以是字符串或者是特定字符,将返回匹配第一个childStr
后的字符串
file_name="test.txt"
echo ${file_name#*.}
将输出txt
如果希望匹配最后一个childStr
后的字符串,可以使用##
file_name="test.tar.gz"
echo ${file_name##*.}
将返回gz
使用 % 号截取左边字符
格式为:
${url%childStr*}
例如:
#!/bin/bash
file_name="test.tar.gz"
echo ${file_name%.*}
echo ${file_name%%.*}
将输出
test.tar
test
截取指定个数字符串
-
从字符串左边
语法:
c
例如:
str="abcdefghijkl" echo ${str:2:100}
输出
cdefg
,即输出从startIndex
开始长度是length
的字符串,当length
超出最后一个元素的界限或者是缺省时将输出从startIndex
直至末尾。 -
从字符串右边
通常的语法:
${string: 0-startIndex :length}
例如
str="abcdefghijkl" echo ${str:0-7:3}
将输出
fgh
,因为从右边往左边数,c,当然也可以这样:str="abcdefghijkl" echo ${str:1-7:3}
此时的输出就变成了:
ghi
,可以这样理解:第七个字符是f
,然后再往后偏移一个字符,再从这里开始截取三个字符。
本文由「黄阿信」创作,创作不易,请多支持。
如果您觉得本文写得不错,那就点一下「赞赏」请我喝杯咖啡~
商业转载请联系作者获得授权,非商业转载请附上原文出处及本链接。
关注公众号,获取最新动态!
历史评论
开始评论