shell字串處理

2021-10-01 09:16:24 字數 1645 閱讀 5916

字串切片操作

shell字串切片操作與資料組元素字元切片操作基本相同,在shell中處理字串要注意以下幾點:

1.  shell中的字串處理操作與python的處理機制很相似,python中的切片操作支援步長切片和逆序顯示。

2. 漢字佔乙個字元

2. 字串切片操作同樣基於索引機制

3. 索引編號:從左到右元素字串起始偏移量編號為0;從右到從元素字串起始偏移量編號為-1

4. 查詢字串長度 $

切片語法:$、 $

同樣先解釋一下offset、number引數

offset:指定擷取字串的起始位置偏移量

number:指定擷取元素字串的長度或結束位置

1.  offset:正數時代表從左向右擷取,為負數時代表從右向左擷取。

2. number:為正數時代表擷取長度,為負數則代表結束位置,當number為代表結束位置時擷取內容不包括第m位

基於模式擷取子字串

#自左向右

$:# 號自左向右,查詢var變數所儲存的字串中,將第一次出現的匹配word的字串刪除。*可以理解為匹配任意長度任意字元

$:## 開啟貪婪模式,自左向右依次匹配,將並所有匹配的字串都刪除,留下未匹配的部分。

%自右向左

$:%號自右向左,查詢var變數所儲存的字串中,將第一次出現的匹配word的字串刪除。*可以理解為匹配任意長度任意字元

$:%%開啟貪婪模式,自右向左依次匹配,將並所有匹配的字串都刪除,留下未匹配的部分。

基於模式匹配查詢替換字元

1. $ 基於模式自左而右匹配變數中儲存的字串,並將第1個匹配到的字串替換為substr。

2. $ 基於模式自左而右匹配變數中儲存的字串,並替換所有匹配到的字串為substr

3. $ 將行首匹配到的字串替換為substr

4. $ 將行尾匹配到的字串替換為substr

基於模式匹配刪除子字串

1.  $:刪除var表示的字串中第一次被pattern匹配到的字串

2. $:刪除var表示的字串中所有被pattern匹配到的字串

3. $:刪除var表示的字串中所有以pattern為行首匹配到的 字串

4. $:刪除var所表示的字串中所有以pattern為行尾所匹配 到的字串

字元大小寫轉換

$:把var中的所有小寫字母轉換為大寫

$:把var中的所有大寫字母轉換為小寫

重點記憶

索引編號:從左到右元素字串起始偏移量編號為0;從右到從元素字串起始偏移量編號為-1

offset:正數時代表從左向右擷取,為負數時代表從右向左擷取

number:為正數時代表擷取長度,為負數則代表結束位置,當number為代表結束位置時擷取內容不包括第m位

shell字串處理

一 構造字串 直接構造 str zero hello str first i am a string str second success 重複多次 repeat the first parm 1 by 2 times strrepeat 舉例 str repeat strrepeat user n...

shell 字串處理

一 號擷取,刪除左邊字元,保留右邊字元。echo 其中 var 是變數名,號是運算子,表示從左邊開始刪除第乙個 號及左邊的所有字元 即刪除 http 結果是 www.google.com test.htm 二 號擷取,刪除左邊字元,保留右邊字元。echo 表示從左邊開始刪除最後 最右邊 乙個 號及左...

SHELL字串處理

linux 的字串擷取很有用。有八種方法。假設有變數 var 1.號擷取,刪除左邊字元,保留右邊字元。複製 如下 echo 其中 var 是變數名,號是運算子,表示從左邊開始刪除第乙個 號及左邊的所有字元 即刪除 http 結果是 www.aaa.com 123.htm 2.號擷取,刪除左邊字元,保...