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配置合理,基本上都會得到自己想得到的變數內容!!!!
從別處轉載而來,總結如下:
變數配置方式 說明 |
${變數#關鍵詞} ${變數##關鍵詞} |
若變數內容從頭開始 若變數內容從頭開始的資料符合『關鍵詞』,則將符合的最長資料刪除 |
${變數%關鍵詞} ${變數%%關鍵詞} |
若變數內容從尾向前的資料符合『關鍵詞』,則將符合的最短資料刪除 若變數內容從尾向前的資料符合『關鍵詞』,則將符合的最長資料刪除 |
${變數/舊字串/新字串} ${變數//舊字串/新字串} |
若變數內容符合『舊字串』則『第一個舊字串會被新字串取代』 若變數內容符合『舊字串』則『全部的舊字串會被新字串取代』 |
歡迎留言討論。。。。