如何获得包含点的 zsh 扩展?
所需的输入和输出示例:
'one.two'
- '.two'
'none'
- ''
我知道我可以测试“这个字符串有扩展名吗?”使用 if 语句,那么如果它确实有扩展,我可以使用
${var:e}
参数扩展,但这非常冗长。
我确信一定有一种更短的方法来获取文件名的结尾。
这对我有用的原因是,我可以生成与现有文件名具有相同扩展名的新文件名,即使这些现有文件名没有扩展名。 我之前试过
"${existing:r}-$count.${existing:e}"
但这不适用于没有扩展名的现有文件名(它在末尾添加一个点)
构建一个数组,然后用
.
连接数组的内容。
arr=($existing:r-$count $existing:e)
result=${(j:.:)arr}