##*/ 从左截取所有斜杠,保留斜杠右侧内容;其中/可以根据场景替换为不同的关键字;
%%.* 从右截取所有点,保留点左侧内容;其中.可以根据场景替换为不同的关键字;
示例shell脚本如下:
path=/home/logs/sys-2023-01-02-02.log
echo "截取最后一个斜杠之后的内容:" ${path##*/};
echo "截取最后一个点之前的内容:" ${path%%.*};
运行结果:
# sh string_sub.sh
截取最后一个斜杠之后的内容: sys-2023-01-02-02.log
截取最后一个点之前的内容: /home/logs/sys-2023-01-02-02