bash - 如何在最后一个“/”字符之后获取一个字符串?
问题描述
我试图在最后一个“/”字符之后获取一个字符串。问题是,“/”的数量可以不同。例子:
Desktop/Picures/test.txt -> test.txt
Templates/DIR1/DIR2/DIR2/test2 -> test2
d1/d2/d3/d4/d5/d6 -> d6
...等等,你明白了。我怎样才能做到这一点?(顺便说一句,我也需要将结果设置为变量。)
解决方案
使用参数扩展。
for path in Desktop/Picures/test.txt \
Templates/DIR1/DIR2/DIR2/test2 \
d1/d2/d3/d4/d5/d6 ; do
echo "${path##*/}"
done
##*/
从左边删除最长的匹配模式。模式是*/
,即它将删除直到最后一个斜杠的所有内容。
推荐阅读
- node.js - 部署在 heroku 上的 React 应用程序立即崩溃 code=H10
- pine-script - Pine table (Pine Script) 需要 15-20 分钟才能显示在屏幕上。如何立即显示?
- android - 使两个数据库在 Android 中运行良好的最佳方法是什么?
- ios - 自动化将生成的 proto 文件包含到 Xcode 项目中的过程
- python - 无法滚动 div | 硒 | Python
- laravel - 将 livewire 输入与循环/嵌套属性绑定的最有效方法
- python - 一次随机选择嵌套列表中的元素
- angular - 如何在 Angular 中使用 AuthGuard 为两个不同的用户角色提供相同菜单的路由访问权限?
- vue.js - vue element-ui 表格列可拖动
- openid-connect - 如何从 Auth0 中的 Open ID Connect 企业连接获取 id 令牌