Linux下shell腳本中的字符串截取

shell中字符串截取有8種方法:
現在假設有變量 val=http://Facebook.com
1. # 號截取,刪除左邊字符,保留右邊字符,具體看下圖:
這裏寫圖片描述
執行結果圖:
這裏寫圖片描述

echo ${val#*//}
其中 val 是變量名,# 號是運算符,*// 表示從左邊開始刪除第一個 // 號及左邊的所有字符,即刪除 http://

2.## 號截取,刪除左邊字符,保留右邊字符,如圖:
這裏寫圖片描述

執行結果:
這裏寫圖片描述

echo ${val##*k} ,##*k 表示從左邊開始刪除最後(最右邊)一個 字符k及左邊的所有字符,即刪除 http://Facebook ,結果是 .com

3.%號截取,刪除右邊字符,保留左邊字符
這裏寫圖片描述

執行結果:
這裏寫圖片描述

echo ${val%/* }, %/* 表示從右邊開始,刪除第一個 / 號及右邊的字符

4 . %% 號截取,刪除右邊字符,保留左邊字符
這裏寫圖片描述

執行結果:
這裏寫圖片描述

echo ${val%%/* } , %%/* 表示從右邊開始,刪除最後(最左邊)一個 / 號及右邊的字符

5.從左邊第幾個字符開始,要截取的字符個數,如圖:
這裏寫圖片描述
執行結果:
這裏寫圖片描述

echo ${val:0:7} ,其中 0 表示從左邊第一個字符開始,7 表示要截取字符的總個數。

6 . 從左邊第幾個字符開始,一直到結束.
這裏寫圖片描述

執行結果:
這裏寫圖片描述

echo ${val:5},其中的5表示截取從左邊第6個字符開始到結束的字符串。

7 . 從右到左的第幾個字符開始,截取從左到右的多少個字符
這裏寫圖片描述
執行結果:
這裏寫圖片描述

echo ${val:0-8:4} ,其中 0-8 表示從最右邊算起第8個字符開始,4 表示要截取的字符個數。

8 . 從右邊第幾個字符開始,一直到結束.
這裏寫圖片描述
執行結果:
這裏寫圖片描述
echo ${val:0-8},表示從右邊第8個字符開始,一直截取到結束。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章