Bash 字串操作

2022-05-26 04:36:09 字數 886 閱讀 9891

參考:

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等無顯示字元不允許 用 做正規表示式匹配 表示可以有任意空格,表示裡面是要提取的部分,表示任意數目的任意字串,...