絕對路徑的文件名去掉目錄或者去掉後綴名的簡單做法

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章