最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2014年07月29日 09:35:29   投稿:junjie  
這篇文章主要介紹了總結(jié)的7個(gè)shell字符串操作方法和實(shí)例分享,包括長(zhǎng)度獲取、查找位置、字符截取、匹配查詢等,需要的朋友可以參考下

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

1,取得字符串長(zhǎng)度

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

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

2,字符串所在位置

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

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

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

3,從字符串開頭到子串的最大長(zhǎng)度

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

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

個(gè)人覺得這個(gè)函數(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不同,上面顯示的是匹配字符的長(zhǎng)度,而下面的是匹配的內(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 顯示括號(hào)中匹配的內(nèi)容

這里括號(hào)的用法,是不是根其他的括號(hào)用法有相似之處呢,

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左邊開始,去掉最長(zhǎng)匹配子串
echo ${string%3*1}     //abc12342  從$string右邊開始,去掉最短匹配子串
echo ${string%%3*1}    //abc12     從$string右邊開始,去掉最長(zhǎng)匹配子串

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

7,匹配并且替換

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

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

相關(guān)文章

  • Shell腳本實(shí)現(xiàn)的猜數(shù)字小游戲

    Shell腳本實(shí)現(xiàn)的猜數(shù)字小游戲

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)的猜數(shù)字小游戲,本文的猜數(shù)字規(guī)則相對(duì)一般規(guī)則的猜數(shù)字可能難度要大不少,需要的朋友可以參考下
    2014-12-12
  • Shell腳本注釋的實(shí)現(xiàn)

    Shell腳本注釋的實(shí)現(xiàn)

    本文主要介紹了Shell腳本注釋的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 如何調(diào)試Linux shell腳本

    如何調(diào)試Linux shell腳本

    最簡(jiǎn)單的調(diào)試命令當(dāng)然是使用echo命令。您可以使用echo在任何懷疑出錯(cuò)的地方打印任何變量值。這也是絕大多數(shù)的shell程序員要花費(fèi)80%的時(shí)間來調(diào)試程序的原因。Shell程序的好處在于不需要重新編譯,插入一個(gè)echo命令也不需要多少時(shí)間
    2013-06-06
  • shell腳本學(xué)習(xí)指南[四](Arnold Robbins & Nelson H.F. Beebe著)

    shell腳本學(xué)習(xí)指南[四](Arnold Robbins & Nelson H

    這篇文章主要介紹了shell腳本學(xué)習(xí)指南[四](Arnold Robbins & Nelson H.F. Beebe著),需要的朋友可以參考下
    2014-02-02
  • virtualbox 中的linux 共享文件的方法

    virtualbox 中的linux 共享文件的方法

    這篇文章主要介紹了virtualbox 中的linux 共享文件的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下
    2017-01-01
  • 深入淺出Shell編程 Shell變量介紹

    深入淺出Shell編程 Shell變量介紹

    先不要管Shell的版本,來看看Shell 變量,在Shell中有三種變量:系統(tǒng)變量,環(huán)境變量,用戶變量。其中用戶變量在編程過程中使用最多,系統(tǒng)變量在對(duì)參數(shù)判斷和命令返回值判斷會(huì)使用,環(huán)境變量主要是在程序運(yùn)行的時(shí)候需要設(shè)置。
    2013-01-01
  • 5個(gè)實(shí)用的shell腳本面試題和答案

    5個(gè)實(shí)用的shell腳本面試題和答案

    這篇文章主要介紹了5個(gè)實(shí)用的shell腳本面試題和答案,給出的腳本堪稱編碼規(guī)范,麻雀雖小,異常處理,友好提示,一應(yīng)俱全,值得學(xué)習(xí),需要的朋友可以參考下
    2014-06-06
  • Shell中echo命令及編程規(guī)范

    Shell中echo命令及編程規(guī)范

    本文主要介紹了Shell中echo命令及編程規(guī)范,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 簡(jiǎn)單的Linux查找后門思路和shell腳本分享

    簡(jiǎn)單的Linux查找后門思路和shell腳本分享

    這篇文章主要介紹了簡(jiǎn)單的Linux查找后門思路和shell腳本分享,本文的方法相對(duì)簡(jiǎn)單,提了一個(gè)思路和簡(jiǎn)單的Shell實(shí)現(xiàn)腳本,需要的朋友可以參考下
    2014-06-06
  • Hadoop單機(jī)版和全分布式(集群)安裝

    Hadoop單機(jī)版和全分布式(集群)安裝

    Hadoop,分布式的大數(shù)據(jù)存儲(chǔ)和計(jì)算, 免費(fèi)開源,本文介紹Hadoop單機(jī)版、集群安裝步驟。
    2013-10-10

最新評(píng)論

嵊泗县| 海伦市| 昭觉县| 通州区| 临清市| 凉山| 贡觉县| 通州市| 泸州市| 昌宁县| 荃湾区| 开封县| 碌曲县| 绍兴县| 汶川县| 确山县| 思茅市| 黄陵县| 唐山市| 金沙县| 和龙市| 铜川市| 民丰县| 香港 | 南投县| 泰安市| 济南市| 保山市| 平远县| 高要市| 临泉县| 武宁县| 象山县| 禄劝| 南投市| 陕西省| 丰顺县| 阿鲁科尔沁旗| 平遥县| 文登市| 历史|