成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

shell字符串操作

一、環(huán)境

創(chuàng)新互聯(lián)建站長期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為嫩江企業(yè)提供專業(yè)的網(wǎng)站制作、做網(wǎng)站,嫩江網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

    ubuntu14.04 x86_64

二、字符串操作

    1.獲得字符串長度

        類似C語言中的strlen()

    ${#variable_name}

    eg:

$name=zhangsan
$echo ${#name}
8
$

    expr length variable_name

   note: variable_name不能為空

  $ expr length $name
  $ 8

    2.字符串提取

        類似java中的substring()

        ${variable_name:start_index:length}    從左到右,從第start_index(0)開始,length長的子串
        ${variable_name:0-start_pos:length}   從結(jié)尾倒起數(shù)第start_pos開始,length長的子串

        eg:

$echo ${name:0:4}
zhang
$echo ${name:2}    #從第二個位置開始,到結(jié)束
angsan
$echo ${name:0-4:2}
gs
$echo ${name:0-4} #從倒數(shù)第4開始,到結(jié)束
gsan
$

    3.字符串截取

    從左到右刪除

    ${variable_name#*separator}   separator是你要分隔的字符,到第一個separator的位置

    ${variable#pattern} 檢查是否以指定的pattern結(jié)束,如果是,則使用variable的內(nèi)容并從其左側(cè)刪除pattern所能夠匹配到的最短結(jié)果。

    pattern:

             * 匹配零個或多個字符

            ?  匹配任意單個字符

             [...] 匹配指定字符組中任意單個字符

             [!...] 匹配不在字符組中的任意單個字符

    類似C語言中的strchr()

    eg:

$name=zhangsan-lisi-wangwu-baidi
$echo ${name#*-}
lisi-wangwu-baidi
$
$var=testcase
$echo ${var#?e}    #從左側(cè)刪除最短的匹配
scase
$echo ${var#*s}
tcase

    ${variable_name##*separator} 到最后一個separator的位置

    ${variable##pattern} 檢查是否以指定的pattern結(jié)束,如果是,則使用variable的內(nèi)容并從其左側(cè)刪除pattern所能夠匹配到的最長結(jié)果(貪吃)。

    類似C語言中的rindex()

    eg:

$echo ${name##*-}
baidi
$
$var=testcase
$echo ${var##*s}   #從左側(cè)刪除最長的匹配
e

    從右到左刪除

    ${variable_name%separator*}  ${variable%pattern}

    ${variable_name%%separator*}  ${variable%%pattern}

    eg:

$echo ${name%-*}   
zhangsan-lisi-wangwu
$echo ${name%%-*}
zhangsan
$
$var=testcase
$echo ${var%e} #從右側(cè)刪除最短匹配
testcas
$echo ${var%s*e}
testca

    4.字符串拆分

    類似C語言的strtok()

    ${variable_name//ch/ch_replace}    將variable_name中的字符ch替換為ch_replace字符

    eg:

$name=zhangsan-lisi-wangwu-baidi
$name=${name//-/,}  #將橫杠替換為逗號
$echo ${name}
zhangsan,lisi,wangwu,baidi
$name={name//,/ }  #將逗號替換為空格
$echo ${name}
zhangsan lisi wangwu baidi   #可用于后續(xù)的for循環(huán)
$
$var=tescase
$echo ${var%%s*e}   #從右側(cè)刪除最長匹配
te

    IFS 通過設(shè)置IFS的值,進行拆分

    
eg:

$test=aaa,bbb,ccc,ddd,eee
$arr=${test}
$echo ${arr}
aaa,bbb,ccc,ddd,eee
$OLD_IFS=$IFS
$IFS=,
$arr2=${test}
$echo ${arr2}
aaa bbb ccc ddd eee
$IFS=${OLD_IFS}

    

本文名稱:shell字符串操作
當(dāng)前URL:http://jinyejixie.com/article46/ipeheg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、外貿(mào)建站、網(wǎng)站設(shè)計、面包屑導(dǎo)航用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司
嵊州市| 来宾市| 吐鲁番市| 大连市| 汝州市| 南汇区| 台东市| 永和县| 西林县| 正安县| 镇原县| 丹凤县| 武邑县| 泽库县| 石河子市| 汾西县| 卓资县| 达拉特旗| 山阴县| 无为县| 汾西县| 临潭县| 梁河县| 开封市| 桐庐县| 通江县| 鄂伦春自治旗| 文登市| 瑞安市| 黑水县| 镇宁| 苏州市| 冕宁县| 玉屏| 壶关县| 安化县| 日土县| 麦盖提县| 潜山县| 安阳市| 佛山市|