Linux shell指令碼字串擷取的8種方法

2021-10-07 03:22:32 字數 1457 閱讀 6186

假設有變數 url=

1. # 號擷取,刪除指定字元(首個)左邊的字元

【例】echo $

其中 url 是變數名,# 號是運算子,*// 表示從左邊開始刪除第乙個 // 號及左邊的所有字元

[root@*** ~]# echo $

access.redhat.com/downloads

2. ## 號擷取,刪除指定字元(最後乙個)左邊的字元

【例】echo $

##*/ 表示從左邊開始刪除最後(最右邊)乙個 / 號及左邊的所有字元

[root@*** ~]# echo $

downloads

3. %號擷取,從字串末尾開始,刪除指定字元(首個)右邊的字元

【例】echo $

%/* 表示從右邊開始,刪除第乙個 / 號及右邊的字元

[root@*** ~]# echo $

4. %% 號擷取,從字串末尾開始,刪除指定字串(最後乙個)右邊的字元

【例】echo $

%%/* 表示從右邊開始,刪除最後(最左邊)乙個 / 號及右邊的字元

[root@*** ~]# echo $

https:

5. 從左邊第幾個字元開始,及字元的個數

【例】echo $

其中的 0 表示左邊第乙個字元開始,5 表示字元的總個數

6. 從左邊第幾個字元開始到結束

【例】echo $

其中的 8表示左邊第9個字元開始到結束

[root@*** ~]# echo $

access.redhat.com/downloads

7. 從右邊第幾個字元開始,及字元的個數

【例】echo $

其中的 0-20 表示右邊算起第20個字元開始,6表示字元的個數

[root@*** ~]# echo $

redhat

8. 從右邊第幾個字元開始到結束

【例】echo $

表示從右邊第20個字元開始到結束

[root@*** ~]# echo $

redhat.com/downloads

參考資料:

shell指令碼字串擷取的8種方法 ,

shell指令碼 字串

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

Bash Shell指令碼字串截斷

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

Bash Shell指令碼字串截斷

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