取路徑 檔名 字尾

2021-08-20 07:50:13 字數 1493 閱讀 6914



取路徑、檔名、字尾

先賦值乙個變數為乙個路徑,如下:

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

記憶方法如下:

取子串及替換

命令解釋結果$

提取最左邊的 5 個位元組

/dir1

$提取第 5 個位元組右邊的連續 5 個位元組

/dir2

$將第乙個 dir 提換為 path

/path1/dir2/dir3/my.file.txt

$將全部 dir 提換為 path

/path1/path2/path3/my.file.txt

$獲取變數長度

27根據狀態為變數賦值 命令

解釋備註

$若 $file 沒設定,則使用 my.file.txt 作傳回值

空值及非空值不作處理

$若 $file 沒有設定或為空值,則使用 my.file.txt 作傳回值

非空值時不作處理

$若$file 設為空值或非空值,均使用my.file.txt作傳回值

沒設定時不作處理

$若 $file 為非空值,則使用 my.file.txt 作傳回值

沒設定及空值不作處理

$若 $file 沒設定,則回傳 txt ,並將 $file 賦值為 txt

空值及非空值不作處理

$若 $file 沒設定或空值,則回傳 txt ,將 $file 賦值為txt

非空值時不作處理

$若 $file 沒設定,則將 my.file.txt 輸出至 stderr

空值及非空值不作處理

$若 $file沒設定或空值,則將my.file.txt輸出至stderr

非空值時不作處理

tips:

以上的理解在於, 你一定要分清楚 unset 與 null 及 non-null 這三種賦值狀態. 一般而言, : 與 null 有關, 若不帶 : 的話, null 不受影響, 若帶 : 則連 null 也受影響.

adb push 中文路徑檔名丟失字尾

adb 的乙個bug。今天刷機的時候,用以下命令多次 push 安裝包到手機 adb push f 刷機 nexus5 lineage 14.1 20170314 nightly hammerhead signed.zip sdcard 但在recovery 中 install 選擇更新包時找不到更...

python 檔案路徑名,檔名,字尾名的操作

需要使用路徑名來獲取檔名,目錄名,絕對路徑等等。使用os.path 模組中的函式來操作路徑名。下面是乙個互動式例子來演示一些關鍵的特性 import os path users beazley data data.csv get the last component of the path os.p...

檔名(字尾名)修改

就自己寫了段 來實現 檔名 字尾名 修改的小函式。剛開通部落格就把 放上來了。希望大俠看到指點一二。不勝榮幸!view code 1 2 修改檔名 3 4 原始檔全名 包括路徑 5 檔案字尾名 為空表示不修改 6 檔案後 為空表示不修改 7 返回異常訊息 8static void changeext...