shell之檔案路徑擷取

2022-03-24 16:49:00 字數 418 閱讀 9286

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

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

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

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

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

$:拿掉第乙個.及其左邊的字串:file.txt

$:拿掉最後乙個.及其左邊的字串:txt

$:拿掉最後條/及其右邊的字串:/dir1/dir2/dir3

$:拿掉第一條/及其右邊的字串:(空值)

$:拿掉最後乙個.及其右邊的字串:/dir1/dir2/dir3/my.file

$:拿掉第乙個.及其右邊的字串:/dir1/dir2/dir3/my

Shell 路徑擷取函式

basename string pathname suffix 功能描述 basename命令會刪掉所有的字首包括最後乙個 字元,然後將字串顯示出來。選項 suffix為字尾,如果suffix被指定了,basename會將pathname或string中的suffix去掉。mubai localho...

擷取檔案路徑

開發介面時發現通過getpathname 函式得到的路徑是完全路徑,即d 測試 test.txt。如果只想得到檔名,可以用getfilename 函式來獲得,也可使用下列 inputfilepath dlg.getpathname int npos inputfilepath.reversefind...

shell擷取檔名和檔案目錄

很多時候在使用linux的shell時,我們都需要對檔名或目錄名進行處理,通常的操作是由路徑中提取出檔名,從路徑中提取出目錄名,提取檔案字尾名等等。例如,從路徑 dir1 dir2 file.txt中提取也檔名file.txt,提取出目錄 dir1 dir2,提取出檔案字尾txt等。下面介紹兩種常用...