shell陣列與字串操作

2021-06-29 09:21:15 字數 1857 閱讀 9961

陣列的宣告:

1)array[key]=value # array[0]=one,array[1]=two

複製**

2)declare -a array # array被當作陣列名

複製**

3)array=( value1 value2 value3 ... )

複製**

4)array=( [1]=one [2]=two [3]=three ... )

複製**

5)array="one two three" # echo $,把array變數當作陣列來處理,但陣列元素只有字串本身

複製**

陣列的訪問:

1)$ # $

複製**

陣列的刪除

1)unset array[1] # 刪除陣列中第乙個元素

複製**

2)unset array # 刪除整個陣列

複製**

計算陣列的長度:

1)$

複製**

2)$ #同上。 $ 、$。注意同#的區別

複製**

陣列的提取

從尾部開始提取:

array=( [0]=one [1]=two [2]=three [3]=four )

$ # two three four,除掉第乙個元素後所有元素,那麼$表示所有元素

$ # one two

$ # two three

子串刪除

[root@localhost dev]# echo $

one two three four

複製**

[root@localhost dev]# echo $ # 左邊開始最短的匹配:"t*e",這將匹配到"thre"

one two e four

複製**

[root@localhost dev]# echo $ # 左邊開始最長的匹配,這將匹配到"three"

複製**

[root@localhost dev]# array=( [0]=one [1]=two [2]=three [3]=four )

複製**

[root@localhost dev]# echo $ # 從字串的結尾開始最短的匹配

one tw three four

複製**

[root@localhost dev]# echo $ # 從字串的結尾開始最長的匹配

one tw three four

複製**

子串替換

[root@localhost dev]# array=( [0]=one [1]=two [2]=three [3]=four )

複製**

第乙個匹配到的,會被刪除

[root@localhost dev]# echo $

mne twm three fmur

複製**

所有匹配到的,都會被刪除

[root@localhost dev]# echo $

mne twm three fmur

複製**

沒有指定替換子串,則刪除匹配到的子符

[root@localhost dev]# echo $

ne tw three fur

複製**

替換字串前端子串

[root@localhost dev]# echo $

kne two three four

複製**

替換字串後端子串

[root@localhost dev]# echo $

one twk three four

複製**

qt字串與字串陣列操作

qstring定義 qstring s1 abc qstring s2 hello 字串連線 qstring s s1 s2 組包 s qstring a 1,b 2,c 3 arg 250 arg hello arg 22.22 qdebug 引數表示按逗號分隔,拆分出第0段到第1段,儲存到tmp...

shell字串操作

1,字串剪裁 file dir1 dir2 dir3 my.file.txt 我們可以用 分別替換獲得不同的值 拿掉第一條 及其左邊的字串 dir1 dir2 dir3 my.file.txt 拿掉最後一條 及其左邊的字串 my.file.txt 拿掉第乙個 及其左邊的字串 file.txt 拿掉最...

shell 字串操作

字串長度 expr length string expr string 從字串開始的位置匹配子串的長度 expr match string substring substring 是乙個正規表示式 expr string substring substring 是乙個正規表示式 索引expr ind...