[Shell]字符串截取

1. '#' 截取关键字右侧

]# STR='DISTANCE_ESXi_7SERVER_IP=172.15.7.133'
]# echo ${STR}
DISTANCE_ESXi_SERVER_IP=172.15.7.133
# 从左往右找到第一个关键字7匹配,截取关键字右侧所有字符
]# echo ${STR#*7}
SERVER_IP=172.15.7.133
# 从右往左找到第一个关键字7匹配,截取关键字右侧所有字符
]# echo ${STR##*7}
.133

2. '%' 截取关键字左侧

]# STR='DISTANCE_ESXi_7SERVER_IP=172.15.7.133'
]# echo ${STR}
DISTANCE_ESXi_SERVER_IP=172.15.7.133
# 从右至左找到第一个关键字7匹配,截取关键字左侧所有字符
]# echo ${STR%7*}
DISTANCE_ESXi_7SERVER_IP=172.15.
# 从左往右找到第一个关键字7匹配,截取关键字左侧所有字符
]# echo ${STR%%7*}
DISTANCE_ESXi_

3. 索引截取

]# STR='DISTANCE_ESXi_7SERVER_IP=172.15.7.133'
]# echo ${STR}
DISTANCE_ESXi_SERVER_IP=172.15.7.133
# STR:<起始位置默认为0>:<截取几位字符>
]# echo ${STR:0:8}
DISTANCE
]# echo ${STR:9:4}
ESXi
# 从右向左截取12位
]# echo ${STR:0-12}
172.15.7.133
# 从右向左截取12位,再从左往右第4位截取
]# echo ${STR:3-12}
.15.7.133

END

原文地址:https://www.cnblogs.com/leoshi/p/15156074.html