在Bash中提取文件名和扩展名

69 阅读1分钟

内容来自 DOC https://q.houxu6.top/?s=在Bash中提取文件名和扩展名

我想分别获取不带扩展名的文件名和扩展名。

目前为止找到的最佳解决方案是:

NAME=`echo "$FILE" | cut -d'.' -f1`
EXTENSION=`echo "$FILE" | cut -d'.' -f2`

这个解决方案是错误的,因为它在文件名包含多个.字符时无法正常工作。假设我有一个文件名为a.b.js,它将考虑ab.js,而不是a.bjs

使用Python可以轻松实现这一点:

import os
file, ext = os.path.splitext(path)

但是如果可能的话,我不想为了这个启动Python解释器。

有更好的想法吗?