1. 程式人生 > >絕對路徑的檔名去掉目錄或者去掉字尾名的簡單做法

絕對路徑的檔名去掉目錄或者去掉字尾名的簡單做法

如果我們拿到一個絕對路徑的檔名,如/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}最長匹配結尾處,並刪除該部分。