绝对路径的文件名去掉目录或者去掉后缀名的简单做法

xiaoxiao2026-09-03  2

如果我们拿到一个绝对路径的文件名,如/home/somebody/demo/long.name.txt,我只想取得long这个文件名shell中的模式匹配运算符非常的好用。

file_name=/home/somebody/demo/long.name.txt

第一步去掉路径名

file_name=${file_name##/*/}

结果是long.name.txt

第二步去掉后缀名

file_name=${file_name%%.*}

结果就是long了。

 

模式匹配运算符号:

${var#pattern}最短匹配开头处,并删除该部分。

${var##pattern}最长匹配开头处,并删除该部分。

${var%pattern}最短匹配结尾处,并删除该部分。

${var%%pattern}最长匹配结尾处,并删除该部分。

转载请注明原文地址: https://www.6miu.com/read-5052322.html

最新回复(0)