在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

BASH shell腳本篇—字符串處理

冬至子 ? 來源:CSDN ? 作者:谷公子 ? 2023-10-16 11:25 ? 次閱讀

Bash字符串也是一種數(shù)據(jù)類型,它用于表示文本而不是數(shù)字,它是一組可能還包含數(shù)字的字符的組合。

如果數(shù)字想要表示為字符串,那么需要程序員用引號將數(shù)字包起來,以便Bash將數(shù)據(jù)視為字符串。

BASH對字符串的操作有很多方式,以下記錄了其中一些常用的用法。

1.字符串基本操作

字符串比較的命令有:

# 等于運(yùn)算符:用于檢查兩個字符串是否相等
語法:Operand1 = Operand2
# 不等于運(yùn)算符:用于檢查兩個字符串不相等
語法:Operand1 != Operand2
# 小于運(yùn)算符:是一個條件運(yùn)算符,用于檢查string1是否小于string2
語法:Operand1   Operand2
# 大于運(yùn)算符:用于檢查string1是否大于string2
語法:Operand1  > Operand2
# 檢查字符串長度是否大于零
語法:[ -n Operand ]
# 檢查字符串長度是否等于零
語法:[ -z Operand ]

2. 字符串長度計(jì)算

字符串中的字符總數(shù)表示字符串的長度。我們有時需要判斷字符串的長度才能執(zhí)行特定任務(wù)。在Bash腳本中,可以使用以下幾種方法來獲取字符串的長度。

# 方法1
${#str}  
# 方法2
expr length "$str"  
# 方法3
expr "$str" :'.*'  
# 方法4
$str | wc -c  
# 方法5
$str | awk '{print length}'
# 注意:請注意在$str周圍使用雙引號。如果字符串中包含空格,則雙引號非常重
#       要。否則,可以忽略它。

例子如下

# The script is:
str="str len"
echo "Method1:" ${#str}
length=`expr length "$str"`
echo "Method2:" $length
length=`expr "$str" : '.*'`
echo "Method3:" $length
length=`echo -n $str | wc -c`
echo "Method4:" $length
length=`echo -n $str | awk '{print length}'`
echo "Method5:" $length
 
# The result is:
Method1: 7
Method2: 7
Method3: 7
Method4: 7
Method5: 7

3. 拆分字符串

有時候需要根據(jù)分隔符來拆分字符串?dāng)?shù)據(jù),bash沒有直接的拆解字符串內(nèi)置函數(shù),但可以使用定界符在bash腳本中拆分字符串?dāng)?shù)據(jù)。分隔符可以是單個字符,也可以是包含多個字符的字符串。

我們可以使用**IFS變量來拆分,**IFS是一個特殊的內(nèi)部變量,用于將字符串拆分為單詞。**IFS變量稱為“內(nèi)部字段分隔符”,它確定Bash如何識別邊界。**IFS用于分配分隔字符串的特定定界符[IFS ='']。空格是$IFS的默認(rèn)值。

但是,也可以使用t,n,-等值作為分隔符。分配定界符后,可以通過兩個選項(xiàng)讀取字符串:-r和-a。即,read -ra ARR <<< "str"。在這里,選項(xiàng)-r用于定義反斜杠(),它是字符而不是轉(zhuǎn)義字符。-a選項(xiàng)用于定義將單詞(用IFS分隔)分配給從零開始的數(shù)組順序索引。然后,應(yīng)用bash for循環(huán)來訪問列表,這些列表被拆分為一個數(shù)組。

例子如下:

# The script is:
str="gabc,23ab,45,abc789abcend, jj kk"
IFS="," #setting "," as delimiter
read -ra array < "$str" #reading str as an array as tokens separated by IFS
declare -p array # print array content
 
# The result is:
declare -a array='([0]="gabc" [1]="23ab" [2]="45" [3]="abc789abcend" [4]=" jj kk")'

拆分字符串還有其它方式,這只是其中一種。

4. 提取子字符串

子字符串是字符串中的字符序列,Bash提供了一個從字符串提取信息的選項(xiàng),可以使用多種方法提取數(shù)字或給定的字符串。字符串提取的語法為:

${variable:offset:length}
# 其中:
# - variable是包含字符串的變量名稱
# - offset用于指定從何處開始提取字符串的位置,也可以是負(fù)的,反向提取
# - length用于指定從偏移量開始執(zhí)行的字符范圍
# 分配長度是可選的。如果未提供length,則子字符串的結(jié)尾將是字符串的結(jié)尾

例子如下:

# The script is:
str="welcome to the world"
echo ${str:0:10}
echo ${str:(-9)}
 
# The result is:
welcome to
the world

5. 連接字符串

將兩個或多個字符串添加或連接在一起,這稱為字符串連接。bash中字符串連接的格式為:

# 方法1:
str3="$str1$str2"
# 此命令將串聯(lián)str1和str2變量的值,并將其存儲在第三個變量str3中
 
# 方法2:
newstr="${str} newstr"
# 此命令將字符串變量的值與其它字符串拼接在一起
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    579

    瀏覽量

    20518
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    365

    瀏覽量

    23378
  • Bash
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    10184
收藏 人收藏

    評論

    相關(guān)推薦

    bash腳本中檢查子字符串的方法

    我們在寫 bash 腳本的時候,假如有一個字符串,我們想檢查其中是否包含另一個子字符串,那這個時候需要怎樣做呢?
    發(fā)表于 11-24 15:25 ?1625次閱讀
    <b class='flag-5'>bash</b><b class='flag-5'>腳本</b>中檢查子<b class='flag-5'>字符串</b>的方法

    如何在bash中分割字符串

    假設(shè)我們有一個由逗號或者下劃線隔開的多個單詞組成的字符串,需要拆分這個字符串提取各個單詞。
    發(fā)表于 12-07 17:10 ?3726次閱讀

    C++字符串string

    string是C++編程語言中的字符串。在C++中字符串處理可以使用c語言字符串形式char *,也可以使用string類格式。
    的頭像 發(fā)表于 07-10 00:26 ?1289次閱讀
    C++<b class='flag-5'>字符串</b>string

    Linux Shell系列教程之Shell字符串用法

    Shell字符串用法Shell中的字符串可以用引號包起來,也可以不用引號。用引號的話可以用雙引號,也可以用單引號。其單雙引號的區(qū)別跟PHP相類似。接下來給大家介紹下
    發(fā)表于 08-29 16:01

    字符串的表示

    字符串的表示  隨著計(jì)算機(jī)在文字處理與信息管理中的廣泛應(yīng)用, 字符串已成為最常用的數(shù)據(jù)類型之一, 許多計(jì)算機(jī)中都提供字符串操作功能, 一些計(jì)算機(jī)還給出讀寫字
    發(fā)表于 10-13 17:11 ?3067次閱讀
    <b class='flag-5'>字符串</b>的表示

    strtok拆分字符串

    就是字符格式。有些場景需要使用多個處理器協(xié)同工作,比如單片機(jī)+openmv,它們之間需要通信,可以采用字符格式的編碼方式。操作字符串,無非是兩件事兒:生成
    發(fā)表于 01-13 15:46 ?8次下載
    strtok拆分<b class='flag-5'>字符串</b>

    C語言-字符串處理

    字符串在C語言里使用非常多,因?yàn)楹芏鄶?shù)據(jù)處理都是文本,也就是字符串,特別是設(shè)備交互、web網(wǎng)頁交互返回的幾乎都是文本數(shù)據(jù)。 這篇文章就介紹字符串定義、和基本
    的頭像 發(fā)表于 08-14 10:05 ?1761次閱讀

    平化字符串處理方法簡介

    這里介紹一組有用的字符串處理方法,即平化至字符串和從字符串還原。
    的頭像 發(fā)表于 09-26 10:20 ?2269次閱讀

    介紹Shell判斷字符串包含關(guān)系的幾種方法

    bash 腳本中,有不止一種檢查子字符串的方法,我們今天介紹一些簡單的例子,然后在分享一個常用的 bash 腳本
    的頭像 發(fā)表于 05-12 15:58 ?2208次閱讀

    BASH shell腳本篇—條件命令

    這篇文章介紹下BASH shell中的條件相關(guān)的命令,包括:if, case, while, until, for, break, continue。
    的頭像 發(fā)表于 10-11 15:21 ?626次閱讀
    <b class='flag-5'>BASH</b> <b class='flag-5'>shell</b><b class='flag-5'>腳本篇</b>—條件命令

    BASH shell腳本篇—函數(shù)

    函數(shù)是代碼重用的最重要方式。Bash函數(shù)可以定義為一組命令,在bash腳本中多次調(diào)用。
    的頭像 發(fā)表于 10-20 16:31 ?1107次閱讀

    BASH shell腳本篇—文件處理介紹

    Bash Shell腳本中,可以使用多種方法來對文件進(jìn)行操作,包括讀取文件或?qū)懭胛募?/div>
    的頭像 發(fā)表于 10-23 16:51 ?629次閱讀

    字符串如何轉(zhuǎn)換成日期型

    隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,我們經(jīng)常遇到需要處理日期的情況。在編程中,字符串是最常見的日期輸入格式,在許多情況下,我們需要將字符串轉(zhuǎn)換為日期類型以便進(jìn)行日期計(jì)算和比較。本篇文章將詳細(xì)介紹
    的頭像 發(fā)表于 11-17 16:27 ?9986次閱讀

    labview中怎么對字符串中的進(jìn)行實(shí)時處理

    LabVIEW是一種用于開發(fā)控制、測試和測量系統(tǒng)的可視化編程環(huán)境,它提供了許多處理字符串的功能。在LabVIEW中,可以使用不同的函數(shù)和工具來實(shí)時處理字符串。下面我將詳細(xì)介紹一些常見的
    的頭像 發(fā)表于 12-26 14:12 ?1892次閱讀

    labview字符串如何轉(zhuǎn)換為16進(jìn)制字符串

    在LabVIEW中,將字符串轉(zhuǎn)換為16進(jìn)制字符串是一個常見的需求,尤其是在處理數(shù)據(jù)通信和硬件接口時。LabVIEW提供了多種方法來實(shí)現(xiàn)這一轉(zhuǎn)換,包括使用內(nèi)置函數(shù)、編寫VI(Virtual
    的頭像 發(fā)表于 09-04 15:54 ?2477次閱讀
    主站蜘蛛池模板: 2020国产v亚洲v天堂高清| 四虎网站最新网址| 色噜噜狠狠成人网| 性性性性bbbbxxxx| 婷婷综合在线观看丁香| 色偷偷88欧美精品久久久| 国产日韩精品一区二区三区| 爱爱免费网站| 天天摸天天看| 8050网| 一级毛片西西人体44rt高清| 中文字幕亚洲综合久久2| 六月婷婷综合| 免费观看成人欧美1314www| 高h细节肉爽文男男| 久久vs国产综合色大全| 永久免费在线观看视频| 国产伦精一区二区三区| 伊人精品网| 成人亚洲网| 国产亚洲欧美成人久久片| 亚洲免费区| 欧美精品一区在线看| 4hc44四虎www亚洲| 干干干日日日| 成人国产三级精品| 另类视频色综合| 天天干天天插天天射| 男女草逼视频| 国产麻豆成人传媒免费观看| 婷婷色九月综合激情丁香| 色老头影视| 色一情一乱一乱91av| 国产午夜视频在线观看网站| 日韩毛片一级| 夜夜爱夜夜做| 老师受年下高h男| 明日花绮罗snis-862在线播放| 欧美黑粗| av福利网址网站| 国产91丝袜在线播放九色|