Shell 字符串截取

一、关键字截取
1、# 截取之后内容,一个#表示从左边开始,两个#表示从右边开始
str#*a 截取从左边开始第一个a字符之后的内容
str##*a 截取从右边开始第一个a字符之后的内容
2、% 截取之前内容,一个%表示从左边开始,两个%表示从右边开始
str%a* 截取从左边开始第一个a字符之前的内容
str%%a* 截取从右边开始第一个a字符之前的内容

二、定位截取
str:a:b 表示截取从str中第(a-1) 个位置开始,b个字符

str=1234567890abcedef1203

# 使用#截取从左边开始第一个0之后的内容
# 结果 abcedef1203
echo ${str#*0}
# 使用##截取从右边开始第一个0之后的内容
# 结果 3
echo ${str##*0}
# 使用%截取从右边开始第一个0之前的内容
# 结果 1234567890abcedef12
echo ${str%0*}
# 使用%%截取从左边开始第一个0之前的内容
# 结果 9
echo ${str%%0*}
# 表示截取左边第一个字符开始,7 表示字符的总个数
# 结果 1234567
echo ${str:0:7}
echo ${str:1:3}
# 表示左往右第七个字符开始,5 表示字符的个数。
# 结果 def12
echo ${str:0-7:5}

你可能感兴趣的:(Shell 字符串截取)