欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > shell 字符串操作(長度,查找,替換)詳解

shell 字符串操作(長度,查找,替換)詳解

熱門標簽:艾比利外呼系統 電話機器人每天搜索多少次 海口智能語音電銷機器人好用嗎 昆明電話外呼系統好么 外呼系統一天耗費多少流量 陜西便宜電銷機器人軟件 衡水外呼線路解決 杞縣地圖標注app 免費門店地圖標注注冊入駐
復制代碼 代碼如下:

工作中字符串操作舉例
filename='/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg'
#下面是使用shell字符串操作
buName1=${filename#*/jobs/} #去除'/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg'前綴得到'CnClickstat/DFSLoader/loader.cfg'
buName1=${buName1%%/*} #去除'CnClickstat/DFSLoader/loader.cfg'后綴得到'CnClickstat'
echo $buName1

#下面用awk獲取需要的字符串內容
buName2=`echo $filename | awk -F / '{printf("%s", $5)}'`;
echo $buName2

#下面使用cut獲取需要的字符串內容
buName3=`echo $filename | cut -d / -f 5`;
echo $buName3

以上均能獲得結果:CnClickstat
字符串操作舉例結束


在做shell批處理程序時候,經常會涉及到字符串相關操作。有很多命令語句,如:awk,sed都可以做字符串各種操作。其實shell內置一系列操作符號,可以達到類似效果,大家知道,使用內部操作符會省略啟動外部程序等時間,因此速度會非常的快。

一、判斷讀取字符串值

表達式

含義

${var}

變量var的值, $var相同

${var-DEFAULT}

如果var沒有被聲明, 那么就以$DEFAULT作為其值 *

${var:-DEFAULT}

如果var沒有被聲明, 或者其值為空, 那么就以$DEFAULT作為其值 *

${var=DEFAULT}

如果var沒有被聲明, 那么就以$DEFAULT作為其值 *

${var:=DEFAULT}

如果var沒有被聲明, 或者其值為空, 那么就以$DEFAULT作為其值 *

${var+OTHER}

如果var聲明了, 那么其值就是$OTHER, 否則就為null字符串

${var:+OTHER}

如果var被設置了, 那么其值就是$OTHER, 否則就為null字符串

${var?ERR_MSG}

如果var沒被聲明, 那么就打印$ERR_MSG *

${var:?ERR_MSG}

如果var沒被設置, 那么就打印$ERR_MSG *

${!varprefix*}

匹配之前所有以varprefix開頭進行聲明的變量

${!varprefix@}

匹配之前所有以varprefix開頭進行聲明的變量


加入了“*” 不是意思是: 當然, 如果變量var已經被設置的話, 那么其值就是$var.

[chengmo@localhost ~]$ echo ${abc-'ok'}
ok
[chengmo@localhost ~]$ echo $abc

[chengmo@localhost ~]$ echo ${abc='ok'}
ok
[chengmo@localhost ~]$ echo $abc
ok


如果abc 沒有聲明“="還會給abc賦值。

[chengmo@localhost ~]$ var1=11;var2=12;var3=
[chengmo@localhost ~]$ echo${!v@}
var1 var2 var3
[chengmo@localhost ~]$ echo ${!v*}
var1 var2 var3

${!varprefix*}與${!varprefix@}相似,可以通過變量名前綴字符,搜索已經定義的變量,無論是否為空值。

二、字符串操作(長度,讀取,替換)

表達式

含義

${#string}

$string的長度

${string:position}

$string, 從位置$position開始提取子串

${string:position:length}

$string, 從位置$position開始提取長度為$length的子串

${string#substring}

從變量$string的開頭,刪除最短匹配$substring的子串

${string##substring}

從變量$string的開頭,刪除最長匹配$substring的子串

${string%substring}

從變量$string的結尾,刪除最短匹配$substring的子串

${string%%substring}

從變量$string的結尾,刪除最長匹配$substring的子串

${string/substring/replacement}

使用$replacement, 來代替第一個匹配的$substring

${string//substring/replacement}

使用$replacement, 代替所有匹配的$substring

${string/#substring/replacement}

如果$string前綴匹配$substring,那么就用$replacement來代替匹配到的$substring

${string/%substring/replacement}

如果$string后綴匹配$substring,那么就用$replacement來代替匹配到的$substring


說明:"* $substring”可以是一個正則表達式.

1.長度

[web97@salewell97 ~]$ test='I love china'
[web97@salewell97 ~]$ echo ${#test}
12
${#變量名}得到字符串長度

2.截取字串

[chengmo@localhost ~]$ test='I love china'
[chengmo@localhost ~]$ echo ${test:5}
e china
[chengmo@localhost ~]$ echo ${test:5:10}
e china
${變量名:起始:長度}得到子字符串

3.字符串刪除

[chengmo@localhost ~]$ test='c:/windows/boot.ini'
[chengmo@localhost ~]$ echo ${test#/}
c:/windows/boot.ini
[chengmo@localhost ~]$ echo ${test#*/}
windows/boot.ini
[chengmo@localhost ~]$ echo ${test##*/}
boot.ini
[chengmo@localhost ~]$ echo ${test%/*}
c:/windows
[chengmo@localhost ~]$ echo ${test%%/*}
${變量名#substring正則表達式}從字符串開頭開始配備substring,刪除匹配上的表達式。
${變量名%substring正則表達式}從字符串結尾開始配備substring,刪除匹配上的表達式。
注意:${test##*/},${test%/*} 分別是得到文件名,或者目錄地址最簡單方法。

4.字符串替換

[chengmo@localhost ~]$ test='c:/windows/boot.ini'
[chengmo@localhost ~]$ echo ${test/\//\\}
c:\windows/boot.ini
[chengmo@localhost ~]$ echo ${test//\//\\}
c:\windows\boot.ini

${變量/查找/替換值}一個“/”表示替換第一個,”//”表示替換所有,當查找中出現了:”/”請加轉義符”\/”表示。

三、性能比較

在shell中,通過awk,sed,expr等都可以實現,字符串上述操作。下面我們進行性能比較。
[chengmo@localhost ~]$test='c:/windows/boot.ini'
[chengmo@localhost ~]$ time for i in $(seq 10000);doa=${#test};done;
real 0m0.173s
user 0m0.139s
sys 0m0.004s
[chengmo@localhost ~]$ time for i in $(seq 10000);do a=$(expr length$test);done;
real 0m9.734s
user 0m1.628s

速度相差上百倍,調用外部命令處理,與內置操作符性能相差非常大。在shell編程中,盡量用內置操作符或者函數完成。使用awk,sed類似會出現這樣結果。
Yorking Alan
您可能感興趣的文章:
  • Shell腳本中計算字符串長度的5種方法
  • linux shell 字符串操作(長度,查找,替換)詳解
  • Shell腳本計算字符串長度和判斷字符串為空小技巧
  • linux shell字符串內置的常用操作(獲取長度、查找、替換)
  • Shell獲取字符串長度的多種方法總結

標簽:西寧 營口 南京 海口 臨滄 泰安 宿遷 昌都

巨人網絡通訊聲明:本文標題《shell 字符串操作(長度,查找,替換)詳解》,本文關鍵詞  shell,字符串,操作,長度,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《shell 字符串操作(長度,查找,替換)詳解》相關的同類信息!
  • 本頁收集關于shell 字符串操作(長度,查找,替換)詳解的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    久久久久成人黄色影片| 你懂得视频在线观看| 不卡av在线网| 成人动漫一区二区在线| www.成人在线| 91porn在线| www.日本高清| gv天堂gv无码男同在线观看| 色婷婷在线视频观看| 在线日韩av片| 91精品国产综合久久香蕉麻豆| 精品少妇一区二区三区视频免付费| 久久综合色8888| 1区2区3区国产精品| 亚洲成人av中文| 狠狠色丁香久久婷婷综合_中 | 麻豆一区二区99久久久久| 香蕉成人伊视频在线观看| 理论电影国产精品| 不卡的电视剧免费网站有什么| 欧美大喷水吹潮合集在线观看| 亚洲色图欧美色| 欧美日韩高清一区二区不卡| 精品蜜桃在线看| 一区二区三区中文字幕| 精彩视频一区二区三区| 香蕉视频1024| 黑人狂躁日本娇小| 91精品国产综合久久久久久久| 国产欧美日韩亚州综合| 日精品一区二区| 91免费国产在线| 懂色av粉嫩av蜜臀av一区二区三区| 欧美日韩精品一区二区三区蜜桃| 国产日韩欧美高清在线| 三级成人在线视频| 91蝌蚪porny| 波多野结衣不卡视频| 欧美大片国产精品| 亚洲国产精品久久人人爱蜜臀 | 久久精品人人爽人人爽| 美腿丝袜亚洲一区| 欧美久久久久久久久久久| 91成人在线免费观看| 国产精品久久久久久久久免费丝袜 | 一区二区三区四区不卡视频| 国产精品一区三区| 成人欧美一区二区三区黑人一| 日韩欧美精品在线视频| 欧美日韩国产影片| 五月天国产精品| 亚洲电影一级片| 国产精品一级无码| 欧美性一二三区| 中文字幕一区二区三区精华液| 国产美女久久久久| 日本爱爱小视频| 国产日韩欧美激情| 国产福利91精品| 亚洲精品电影院| 国产女主播一区| 国产99久久精品| 色视频欧美一区二区三区| 1区2区3区欧美| 中文字幕avav| 欧美一区二区三区四区久久| 日本欧美加勒比视频| 国产精品20p| 中文字幕中文乱码欧美一区二区 | 中文字幕在线一区免费| 91猫先生在线| 日韩精品一区二区三区在线播放| 久久草av在线| 欧美在线一区二区三区| 亚洲成人av免费| 亚洲色图日韩精品| 亚洲一区二区三区美女| 国产精品久久不卡| 欧美激情综合五月色丁香 | 综合激情成人伊人| 白嫩情侣偷拍呻吟刺激| 精品国产一区二区亚洲人成毛片 | 午夜精品久久一牛影视| 樱花影视一区二区| 中国极品少妇xxxx| 国产精品国产三级国产a | 美国三级日本三级久久99| 色婷婷av一区二区| 久久国产乱子精品免费女| 色婷婷精品大视频在线蜜桃视频| 偷拍一区二区三区| 精品成人无码一区二区三区| 1024精品合集| 国产精品免费无码| 亚洲成人你懂的| 欧美日韩亚洲丝袜制服| 亚洲精品一区二区在线观看| 男人操女人动态图| 五月婷婷综合网| 色婷婷av一区二区三区软件| 韩国欧美一区二区| 欧美一区二区免费观在线| 国产不卡一二三| 午夜精品123| 91麻豆精品国产91久久久使用方法| 永久免费看片在线观看| 亚洲欧美日韩一区二区三区在线观看| 97精品在线播放| 成人激情小说乱人伦| 综合中文字幕亚洲| a级大片在线观看| 亚洲成人免费观看| 伊人在线视频观看| 深夜视频在线观看| 欧美一卡2卡3卡4卡| 丰满少妇在线观看资源站| 日韩av高清在线观看| 日韩精品资源二区在线| 亚洲码无人客一区二区三区| 国内精品国产成人国产三级粉色| 久久综合九色综合欧美亚洲| 欧美特级黄色录像| 国产精品综合二区| 综合色天天鬼久久鬼色| 欧美日韩在线精品一区二区三区激情 | 国产亚洲一区字幕| 一本大道综合伊人精品热热| 小毛片在线观看| 捆绑紧缚一区二区三区视频| 国产欧美一区二区三区网站| 日本一级二级视频| 成年人小视频在线观看| 毛片一区二区三区| 国产精品久久久久永久免费观看 | 国产精品无码一区二区三区免费| 激情欧美一区二区三区在线观看| 激情无码人妻又粗又大| 99精品视频一区二区三区| 午夜久久福利影院| 欧美国产欧美亚州国产日韩mv天天看完整| 一本一本久久a久久精品综合麻豆| 熟妇高潮一区二区| 国产精品资源在线看| 亚洲自拍与偷拍| 欧美国产乱子伦 | 在线观看免费黄色网址| 中文字幕亚洲日本| 国产精品12区| 免费成人美女在线观看| 亚洲美女免费视频| 久久综合久久99| 欧美喷潮久久久xxxxx| 日韩av网站在线播放| 久久久无码人妻精品一区| 亚洲欧洲日产国产综合网| 欧美一三区三区四区免费在线看 | www.99精品| 黄网站免费久久| 丝袜亚洲另类欧美| 亚洲综合图片区| 国产精品国产三级国产有无不卡 | 美国黑人一级大黄| jizz欧美性20| 成人网站免费观看| 喷水视频在线观看| 激情av中文字幕| 一级全黄裸体片| 99精品视频中文字幕| av不卡在线观看| 99vv1com这只有精品| 成人h动漫精品一区二区| 国产精品一级片| 国产69精品久久777的优势| 国产精品1024| 成人激情小说网站| a亚洲天堂av| 99国产精品久久久久| 乱码一区二区三区| av不卡中文字幕| 一女三黑人理论片在线| 狠狠人妻久久久久久综合蜜桃| 日本黄色动态图| www.av天天| 国产成人在线网址| 免费中文字幕在线| 色网站国产精品| 亚洲av成人无码一二三在线观看| 无码精品一区二区三区在线播放| 玖玖爱在线精品视频| 蜜桃视频最新网址| 欧美午夜在线观看| 日韩午夜中文字幕| 国产午夜精品美女毛片视频| 亚洲欧洲99久久| 亚洲成av人片在线观看| 久88久久88久久久| 97aⅴ精品视频一二三区| 香港三日本8a三级少妇三级99| 国精产品一区二区三区| 欧洲激情一区二区|