1. 程式人生 > >shell之檔案路徑擷取

shell之檔案路徑擷取

最近寫指令碼,需要對指令碼中函式傳遞的路徑引數進行擷取,發現了以下比較好用的方法,記錄下:

file=/dir1/dir2/dir3/my.file.txt

我們可以用${ }分別替換獲得不同的值:

${file#*/}:拿掉第一條/及其左邊的字串:dir1/dir2/dir3/my.file.txt

${file##*/}:拿掉最後一條/及其左邊的字串:my.file.txt

${file#*.}:拿掉第一個.及其左邊的字串:file.txt

${file##*.}:拿掉最後一個.及其左邊的字串:txt

${file%/*}:拿掉最後條/及其右邊的字串:/dir1/dir2/dir3

${file%%/*}:拿掉第一條/及其右邊的字串:(空值)

${file%.*}:拿掉最後一個.及其右邊的字串:/dir1/dir2/dir3/my.file

${file%%.*}:拿掉第一個.及其右邊的字串:/dir1/dir2/dir3/my

引用地址:http://www.jb51.net/article/94355.htm