參考:
1. $ 從頭開始,左往右,刪除最短的乙個pattern結尾的字串,即擷取第乙個pattern結尾子串之後的字串
例如在集群中伺服器的主機名一般都是node000,node001,node002之類的有時我們只想提取這個數字編碼id就可以像如下這樣:
ubuntu@dev00:~$ hn=$(hostname)ubuntu@dev00:~$ echo $
00
當前機器名為dev00,當然還可以加入使用萬用字元,比如*
$ x="abcdefg"$
echo $
efg
連前面的ab都去掉了
2. $ 從頭開始,左往右,刪除最長的乙個以pattern結尾的子串,即擷取最後乙個以pattern結尾子串之後的字串(類似正則裡面的貪婪)
例子:將x=「009」~「019」這些字元提取為沒有前導零的形式,由於x中可能有不定個零,可以以最後乙個0為截斷位置
ubuntu@dev00:~$ x='009'
ubuntu@dev00:~$ echo $
9
這個和『去除指定字首』幾乎一樣,就是方向變了一下,相應的表示的符號也換了一下:
1. $
2. $
$ :擷取變數varible從位置start開始長度為len的子串。第乙個字元的位置為0。
這個和一般語言裡的substr(index, len)一致,(hn=『dev00』)
ubuntu@dev00:~$ echo $
bash中的字串處理操作
本文首發於我的github部落格 本文記錄了作者使用bash過程中,為了解決去除字首字尾的問題而了解到的bash的字串操作,簡單來說 string position或者string position length進行子串提取 string pattern進行最短匹配字首去除,string patte...
bash 字串擷取
命令的2種替換形式 和 示例 截斷字串 a 擷取檔名稱 var1 basename home aimybbe bash test.sh echo var1 擷取目錄 var2 dirname home aimybbe bash test.sh echo var2 b var1 basename ho...
BASH 字串處理
使用正規表示式拆分字串 bash 3.0以上支援 正規表示式 格式 name value1 value2 name value1和value2是我們需要的字串 在分隔符前後可以有空格 tab等無顯示字元不允許 用 做正規表示式匹配 表示可以有任意空格,表示裡面是要提取的部分,表示任意數目的任意字串,...