取路徑、檔名、字尾
先賦值乙個變數為乙個路徑,如下:
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...