欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

shell字符串操作詳解

 更新時(shí)間:2014年02月27日 00:01:19   作者:  
這篇文章主要介紹了shell字符串操作詳解的相關(guān)資料,需要的朋友可以參考下
1、shell變量聲明的判斷

表達(dá)式 含義
${var} 變量var的值, 與$var相同
${var-DEFAULT} 如果var沒(méi)有被聲明, 那么就以$DEFAULT作為其值 *
${var:-DEFAULT} 如果var沒(méi)有被聲明, 或者其值為空, 那么就以$DEFAULT作為其值 *
${var=DEFAULT} 如果var沒(méi)有被聲明, 那么就以$DEFAULT作為其值 *
${var:=DEFAULT} 如果var沒(méi)有被聲明, 或者其值為空, 那么就以$DEFAULT作為其值 *
${var+OTHER} 如果var聲明了, 那么其值就是$OTHER, 否則就為null字符串
${var:+OTHER} 如果var被設(shè)置了, 那么其值就是$OTHER, 否則就為null字符串
${var?ERR_MSG} 如果var沒(méi)被聲明, 那么就打印$ERR_MSG *
${var:?ERR_MSG} 如果var沒(méi)被設(shè)置, 那么就打印$ERR_MSG *
${!varprefix*} 匹配之前所有以varprefix開(kāi)頭進(jìn)行聲明的變量
${!varprefix@} 匹配之前所有以varprefix開(kāi)頭進(jìn)行聲明的變量

* 很簡(jiǎn)單,大家試試就明白了,不多說(shuō),注意美元符號(hào)與左花括號(hào)之間不能存在空格,左花括號(hào)不能與變量名間存在空格,變量名不能與判斷符合間有空格。

2、字符串操作(長(zhǎng)度獲取,讀取,匹配刪除,替換)

表達(dá)式 含義
${#string} $string的長(zhǎng)度
${string:position} 在$string中, 從位置$position開(kāi)始提取子串
${string:position:length} 在$string中, 從位置$position開(kāi)始提取長(zhǎng)度為$length的子串
${string#substring} 從變量$string的開(kāi)頭, 刪除最短匹配$substring的子串
${string##substring} 從變量$string的開(kāi)頭, 刪除最長(zhǎng)匹配$substring的子串
${string%substring} 從變量$string的結(jié)尾, 刪除最短匹配$substring的子串
${string%%substring} 從變量$string的結(jié)尾, 刪除最長(zhǎng)匹配$substring的子串
${string/substring/replacement} 使用$replacement, 來(lái)代替第一個(gè)匹配的$substring
${string//substring/replacement} 使用$replacement, 代替所有匹配的$substring
${string/#substring/replacement} 如果$string的前綴匹配$substring, 那么就用$replacement來(lái)代替匹配到的$substring
${string/%substring/replacement} 如果$string的后綴匹配$substring, 那么就用$replacement來(lái)代替匹配到的$substring

* 需要說(shuō)明的是substring可以是正則表達(dá)式。

可替代命令:cut sed awk ,這三個(gè)是更為強(qiáng)大的字符串處理命令,能干關(guān)于字符串的非常多事情。這里有很多樣例介紹。

3、性能比較
time for i in $(seq 10000);do a=${#test};done;
time for i in $(seq 10000);do a=$(expr length $test);done;

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

real 0m0.181s
user 0m0.170s
sys 0m0.000s

real 0m8.580s
user 0m2.497s
sys 0m6.075s


這里相當(dāng)于循環(huán)調(diào)用awk、sed、cut、length等外部命令處理字符串,耗時(shí)是理所當(dāng)然的。之前有篇說(shuō)過(guò)shell優(yōu)化問(wèn)題,這里不再贅述,shell循環(huán)比awk慢非常多,這里的性能測(cè)試其實(shí)不太有實(shí)際意義,具體原因結(jié)合shell優(yōu)化那篇看。

4、 字符串正則判斷
可以類(lèi)似使用如下命令:

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

if [[ "${lastday?ERR_MSG}" =~ "^[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}$" ]]
then
...
fi


據(jù)說(shuō)需要在bash版本3.0以上才能使用,查看bash版本方法為:bash -version ,查看當(dāng)前解釋器種類(lèi)命令:echo $0

相關(guān)文章

  • Linux下查看內(nèi)存使用情況的方法總結(jié)

    Linux下查看內(nèi)存使用情況的方法總結(jié)

    在做Linux系統(tǒng)優(yōu)化的時(shí)候,物理內(nèi)存是其中最重要的一方面,自然的,Linux也提供了非常多的方法來(lái)監(jiān)控寶貴的內(nèi)存資源的使用情況,下面的清單詳細(xì)的列出了Linux系統(tǒng)下通過(guò)視圖工具或命令行來(lái)查看內(nèi)存使用情況的各種方法,需要的朋友可以參考下
    2024-01-01
  • linux?shell編程指南之字符串與數(shù)組

    linux?shell編程指南之字符串與數(shù)組

    這篇文章主要給大家介紹了關(guān)于linux?shell編程指南之字符串與數(shù)組的相關(guān)資料,字符串與數(shù)組是Shell編程中常用的數(shù)據(jù)類(lèi)型,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • linux設(shè)置定時(shí)任務(wù)的方法步驟

    linux設(shè)置定時(shí)任務(wù)的方法步驟

    這篇文章主要介紹了linux設(shè)置定時(shí)任務(wù)的方法步驟,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • Shell腳本實(shí)現(xiàn)溫和方式重啟Centos系統(tǒng)

    Shell腳本實(shí)現(xiàn)溫和方式重啟Centos系統(tǒng)

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)溫和方式重啟Centos系統(tǒng),本文腳本主要目的是用于重啟后臺(tái)比較重要的進(jìn)程,需要的朋友可以參考下
    2014-12-12
  • shell中的排序算法示例代碼

    shell中的排序算法示例代碼

    本文主要介紹了shell中的排序算法示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Shell腳本搭建FTP服務(wù)器(vsftpd)

    Shell腳本搭建FTP服務(wù)器(vsftpd)

    這篇文章主要介紹了Shell腳本搭建FTP服務(wù)器,本文直接給出腳本代碼,代碼中含有詳細(xì)注釋,需要的朋友可以參考下
    2015-03-03
  • linux系統(tǒng)下用.sh文件執(zhí)行python命令的方法

    linux系統(tǒng)下用.sh文件執(zhí)行python命令的方法

    這篇文章主要給大家介紹了關(guān)于linux系統(tǒng)下用.sh文件執(zhí)行python命令的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-07-07
  • 使用shell檢查并修復(fù)mysql數(shù)據(jù)庫(kù)表的腳本

    使用shell檢查并修復(fù)mysql數(shù)據(jù)庫(kù)表的腳本

    這篇文章主要介紹了使用shell檢查并修復(fù)mysql數(shù)據(jù)庫(kù)表的腳本,需要的朋友可以參考下
    2014-03-03
  • 每天學(xué)一個(gè) Linux 命令之more命令

    每天學(xué)一個(gè) Linux 命令之more命令

    more命令,功能類(lèi)似 cat ,more會(huì)以一頁(yè)一頁(yè)的顯示方便使用者逐頁(yè)閱讀,而最基本的指令就是按空白鍵(space)就往下一頁(yè)顯示,按 b 鍵就會(huì)往回(back)一頁(yè)顯示,而且還有搜尋字串的功能
    2016-12-12
  • shell中的source命令的巧妙用法

    shell中的source命令的巧妙用法

    這篇文章主要介紹了shell中的source命令的巧妙用法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2017-11-11

最新評(píng)論