如何在最后一个“/”字符之后获取字符串?

时间:2021-07-07 16:29:42

标签: bash

我试图在最后一个“/”字符之后获取一个字符串。问题是,“/”的数量可以不同。示例:

Desktop/Picures/test.txt -> test.txt
Templates/DIR1/DIR2/DIR2/test2 -> test2
d1/d2/d3/d4/d5/d6 -> d6

...等等,你明白了。我怎样才能做到这一点? (顺便说一句,我也需要将结果设置为变量。)

1 个答案:

答案 0 :(得分:1)

使用参数扩展。

for path in Desktop/Picures/test.txt \
            Templates/DIR1/DIR2/DIR2/test2 \
            d1/d2/d3/d4/d5/d6 ; do
    echo "${path##*/}"
done

##*/ 从左边删除最长的匹配模式。模式是 */,即它将删除所有内容,直到最后一个斜杠。