Linux shell字符串截取與拼接(轉)

前言:之前的練習中涉及到了Linux shell腳本中的字符串操作,在網上看到這篇文章,分享給大家。

 

一、 Linux 的字符串截取的八種方法

假設有變量 var=http://www.linuxidc.com/123.htm 

1  # 號截取,刪除左邊字符,保留右邊字符。 

echo ${var#*//}

其中 var 是變量名,# 號是運算符,*// 表示從左邊開始刪除第一個 // 號及左邊的所有字符

即刪除 http://

結果是 :www.linuxidc.com/123.htm

 

2  ## 號截取,刪除左邊字符,保留右邊字符。

echo ${var##*/}

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

即刪除 http://www.linuxidc.com/         

結果是 123.htm

 

3  %號截取,刪除右邊字符,保留左邊字符

echo ${var%/*}

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

結果是:http://www.linuxidc.com

 

4  %% 號截取,刪除右邊字符,保留左邊字符

echo ${var%%/*}

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

結果是:http:

 

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

echo ${var:0:5}

其中的 0 表示左邊第一個字符開始,5 表示字符的總個數。

結果是:http:

 

6 從左邊第幾個字符開始,一直到結束

echo ${var:7}

其中的 7 表示左邊第8個字符開始,一直到結束。

結果是 :www.linuxidc.com/123.htm

 

從右邊第幾個字符開始,及字符的個數

echo ${var:0-7:3}

其中的 0-7 表示右邊算起第七個字符開始,3 表示字符的個數。

結果是:123

 

8  從右邊第幾個字符開始,一直到結束

echo ${var:0-7}

表示從右邊第七個字符開始,一直到結束。

結果是:123.htm

注:(左邊的第一個字符是用 0 表示,右邊的第一個字符用 0-1 表示) 

 

二  、Linux Shell 腳本中字符串的拼接方法


如果想要在變量後面添加一個字符,可以用一下方法:
 

$value1=home
$value2=${value1}"="
echo $value2


把要添加的字符串變量添加{},並且需要把$放到外面。


這樣輸出的結果是:home=,也就是說連接成功。

又如:

[root@localhost sh]# var1=/etc/
[root@localhost sh]# var2=yum.repos.d/
[root@localhost sh]# var3=${var1}${var2}
[root@localhost sh]# echo $var3
/etc/yum.repos.d/

 

 

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