我试图在最后一个“/”字符之后获取一个字符串。问题是,“/”的数量可以不同。示例:
Desktop/Picures/test.txt -> test.txt
Templates/DIR1/DIR2/DIR2/test2 -> test2
d1/d2/d3/d4/d5/d6 -> d6
...等等,你明白了。我怎样才能做到这一点? (顺便说一句,我也需要将结果设置为变量。)
答案 0 :(得分:1)
使用参数扩展。
for path in Desktop/Picures/test.txt \
Templates/DIR1/DIR2/DIR2/test2 \
d1/d2/d3/d4/d5/d6 ; do
echo "${path##*/}"
done
##*/
从左边删除最长的匹配模式。模式是 */
,即它将删除所有内容,直到最后一个斜杠。