相关疑难解决方法(0)

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

我想分别获取文件名(没有扩展名)和扩展名.

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

NAME=`echo "$FILE" | cut -d'.' -f1`
EXTENSION=`echo "$FILE" | cut -d'.' -f2`
Run Code Online (Sandbox Code Playgroud)

这是错误的,因为如果文件名包含多个.字符,它将不起作用.如果,让我们说,我有a.b.js,它会考虑ab.js,而不是a.bjs.

它可以在Python中轻松完成

file, ext = os.path.splitext(path)
Run Code Online (Sandbox Code Playgroud)

但是如果可能的话,我宁愿不为此启动Python解释器.

有更好的想法吗?

string bash filenames

1969
推荐指数
26
解决办法
143万
查看次数

如何在bash中获取给定路径的根目录?

我的剧本:

    #!/usr/bin/env bash
    PATH=/home/user/example/foo/bar
    mkdir -p /tmp/backup$PATH
Run Code Online (Sandbox Code Playgroud)

现在我想获得"$ PATH"的第一个文件夹:/ home /

    cd /tmp/backup
    rm -rf ./home/
    cd - > /dev/null
Run Code Online (Sandbox Code Playgroud)

如何像上面的示例一样始终检测第一个文件夹?"dirname $ PATH"只返回"/ home/user/example/foo /".

提前致谢!:)

directory bash path dirname

14
推荐指数
3
解决办法
3万
查看次数

标签 统计

bash ×2

directory ×1

dirname ×1

filenames ×1

path ×1

string ×1