Bash Shell指令碼字串截斷

2021-05-24 12:07:39 字數 1005 閱讀 1332

1.字元截斷:

如果是一般路徑的字元截斷可以用basename和dirname這兩個工具:

basename可以從乙個檔案路徑中截乙個檔名

例如:$ basename 

/ home

/ file

. tar

file

. tar

dirname可以從乙個檔案路徑中截到乙個目錄路徑

例如:$ dirname 

/ home

/ file

. tar

/ home

不使用外部工具進行字元截斷

bash有自帶的功能來對變數進行字元截斷,一般使用"##", "#", "%%", "%", "*" 組合來實現。例如:

$ string

= hellowbashshell

$ echo $

ell$ echo $

shell

$ echo $

hellowba

$ echo $

hellowbash

"#"表示從字元開始部分除去,一旦匹配則立即除去

"##"表示從字元開始部分除去,會搜整個字串最長的和的匹配來除去

"%"表示從字元結束的部分除去,一旦匹配成公則立即除去

"%%"表示從字元結束的部分開始除去,會搜尋整個字元穿中最長的匹配來除去

"*"統配符,一般與「##」或"#"聯用時放在搜尋字串的左邊,例如:$(在sh的左邊),與"%%"或"%"聯用時會放在匹配字串的右邊,例如:$

常用技巧:

在路徑中取檔名:$(與basename相同功能)

在路徑中取目錄路徑:$(與dirname相同功能)

取檔案的副檔名:$

Bash Shell指令碼字串截斷

1.字元截斷 如果是一般路徑的字元截斷可以用basename和dirname這兩個工具 basename可以從乙個檔案路徑中截乙個檔名 例如 basename home file.tar file.tar dirname可以從乙個檔案路徑中截到乙個目錄路徑 例如 dirname home file....

shell指令碼 字串

printf printf 10s 10s 10s n no name height printf 10s 10s 10d n 1 whr 187 2 wsl 198 字串切片 冒號後面一定要加空格 基於模式取子字串 從左至右 刪除pattern第一次匹配到的 刪除pattern最後一次匹配到的 從...

Shell指令碼 字串擷取

假設變數var值為 使用 與 或 的結合實現字串擷取 刪除變數var從左邊算起的最後乙個 字元及其左邊的內容,返回處理後的字串 echo 123.html 若在shell指令碼中,可將處理後的結果賦值給變數 刪除變數var從左邊算起第乙個 字元及其左邊的內容,返回處理後的字串 刪除變數var從右邊算...