1. 程式人生 > >Linux 變數內容的刪除、取代與替換---刪除與取代

Linux 變數內容的刪除、取代與替換---刪除與取代

Shell指令碼中,變數是最常用的,變數內容也是我們關注的焦點,如何愉快的修改變數內容?開始進入正題。。。

------------------------------我是快樂的分割線-------------------------------------

1.通過直接修改變數內容

比如var="123456789789789789",後來要修改var的內容,只需要再次var="xxxx"即可

2.有時候我們要想要的內容與原內容只有一點差距,這時候可以通過#pattern的格式來進行內容替換

這個時候需要注意的是pattern 的格式,具體命令如下:

var=${var$pattern}, pattern表示你要刪除掉的內容。 比如

var=123456789 ,var=${var$*2},則 echo $var 的結果是 3456789 

分析如下:刪除從最右邊開始,第一次匹配成功,即結束。*是萬用字元,表示匹配2之前的任意字元,並將結果(包括2)刪除。如果大家看了鳥哥的那個書,講到這塊的時候可能會迷糊一下。

3.此後基本上就是pattern的應用問題了,如果pattern配置合理,基本上都會得到自己想得到的變數內容!!!!

從別處轉載而來,總結如下:

變數配置方式                                                  說明

${變數#關鍵詞}

${變數##關鍵詞}

若變數內容從頭開始

的資料符合『關鍵詞』,則將符合的最短資料刪除

若變數內容從頭開始的資料符合『關鍵詞』,則將符合的最長資料刪除

${變數%關鍵詞}

${變數%%關鍵詞}

若變數內容從尾向前的資料符合『關鍵詞』,則將符合的最短資料刪除

若變數內容從尾向前的資料符合『關鍵詞』,則將符合的最長資料刪除

${變數/舊字串/新字串}

${變數//舊字串/新字串}

若變數內容符合『舊字串』則『第一個舊字串會被新字串取代』

若變數內容符合『舊字串』則『全部的舊字串會被新字串取代』


歡迎留言討論。。。。