主頁 > 知識庫 > 總結(jié)的7個shell字符串操作方法和實例分享

總結(jié)的7個shell字符串操作方法和實例分享

熱門標(biāo)簽:百度地圖的地圖標(biāo)注 東莞電銷機器人價格一覽表 杭州機器人外呼系統(tǒng) 旅游地圖標(biāo)注大全 佛山高德地圖標(biāo)注中心 excel地址地圖標(biāo)注 陜西電銷卡外呼系統(tǒng)怎么安裝 地圖標(biāo)注超出范圍怎么辦 百度地圖標(biāo)注圖標(biāo)更換

每一種語言都有他獨自的字符串操作方法,shell也一樣,下面以以例子的方式,簡單介紹常用方法。

1,取得字符串長度

復(fù)制代碼 代碼如下:

string=abc12342341          //等號二邊不要有空格
echo ${#string}             //結(jié)果11
expr length $string         //結(jié)果11
expr "$string" : ".*"       //結(jié)果11 分號二邊要有空格,這里的:根match的用法差不多

2,字符串所在位置

復(fù)制代碼 代碼如下:

expr index $string '123'    //結(jié)果4 字符串對應(yīng)的下標(biāo)是從0開始的

這個方法讓我想起來了js的indexOf,各種語言對字符串的操作方法大方向都差不多,如果有語言基礎(chǔ)的話,學(xué)習(xí)shell會很快的。

3,從字符串開頭到子串的最大長度

復(fù)制代碼 代碼如下:

expr match $string 'abc.*3' //結(jié)果9

個人覺得這個函數(shù)的用處不大,為什么要從開頭開始呢。

4,字符串截取

復(fù)制代碼 代碼如下:

echo ${string:4}      //2342341  從第4位開始截取后面所有字符串
echo ${string:3:3}    //123      從第3位開始截取后面3位
echo ${string:3:6}    //123423   從第3位開始截取后面6位
echo ${string: -4}    //2341  :右邊有空格   截取后4位
echo ${string:(-4)}   //2341  同上
expr substr $string 3 3   //123  從第3位開始截取后面3位

上面的方法讓我想起了,php的substr函數(shù),后面截取的規(guī)則是一樣的。

5,匹配顯示內(nèi)容

復(fù)制代碼 代碼如下:

//例3中也有match和這里的match不同,上面顯示的是匹配字符的長度,而下面的是匹配的內(nèi)容
expr match $string '\([a-c]*[0-9]*\)'  //abc12342341
expr $string : '\([a-c]*[0-9]\)'       //abc1
expr $string : '.*\([0-9][0-9][0-9]\)' //341 顯示括號中匹配的內(nèi)容

這里括號的用法,是不是根其他的括號用法有相似之處呢,

6,截取不匹配的內(nèi)容

復(fù)制代碼 代碼如下:

echo ${string#a*3}     //42341  從$string左邊開始,去掉最短匹配子串
echo ${string#c*3}     //abc12342341  這樣什么也沒有匹配到
echo ${string#*c1*3}   //42341  從$string左邊開始,去掉最短匹配子串
echo ${string##a*3}    //41     從$string左邊開始,去掉最長匹配子串
echo ${string%3*1}     //abc12342  從$string右邊開始,去掉最短匹配子串
echo ${string%%3*1}    //abc12     從$string右邊開始,去掉最長匹配子串

這里要注意,必須從字符串的第一個字符開始,或者從最后一個開始,

7,匹配并且替換

復(fù)制代碼 代碼如下:

echo ${string/23/bb}   //abc1bb42341  替換一次
echo ${string//23/bb}  //abc1bb4bb41  雙斜杠替換所有匹配
echo ${string/#abc/bb} //bb12342341   #以什么開頭來匹配,根php中的^有點像
echo ${string/%41/bb}  //abc123423bb  %以什么結(jié)尾來匹配,根php中的$有點像

您可能感興趣的文章:
  • Bash Shell字符串操作小結(jié)
  • shell基礎(chǔ)學(xué)習(xí)中的字符串操作、for循環(huán)語句示例
  • shell字符串操作詳解
  • shell 字符串操作(長度,查找,替換)詳解

標(biāo)簽:南充 雅安 通遼 西藏 延邊 隨州 青島 朝陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《總結(jié)的7個shell字符串操作方法和實例分享》,本文關(guān)鍵詞  總結(jié),的,7個,shell,字符串,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《總結(jié)的7個shell字符串操作方法和實例分享》相關(guān)的同類信息!
  • 本頁收集關(guān)于總結(jié)的7個shell字符串操作方法和實例分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章