精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

BASH shell腳本篇—字符串處理

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

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

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

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

1.字符串基本操作

字符串比較的命令有:

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

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

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

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

例子如下

# 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. 拆分字符串

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

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

但是,也可以使用t,n,-等值作為分隔符。分配定界符后,可以通過(guò)兩個(gè)選項(xiàng)讀取字符串:-r和-a。即,read -ra ARR <<< "str"。在這里,選項(xiàng)-r用于定義反斜杠(),它是字符而不是轉(zhuǎn)義字符。-a選項(xiàng)用于定義將單詞(用IFS分隔)分配給從零開(kāi)始的數(shù)組順序索引。然后,應(yīng)用bash for循環(huán)來(lái)訪問(wèn)列表,這些列表被拆分為一個(gè)數(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提供了一個(gè)從字符串提取信息的選項(xiàng),可以使用多種方法提取數(shù)字或給定的字符串。字符串提取的語(yǔ)法為:

${variable:offset:length}
# 其中:
# - variable是包含字符串的變量名稱
# - offset用于指定從何處開(kāi)始提取字符串的位置,也可以是負(fù)的,反向提取
# - length用于指定從偏移量開(kāi)始執(zhí)行的字符范圍
# 分配長(zhǎng)度是可選的。如果未提供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. 連接字符串

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

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

    關(guān)注

    1

    文章

    577

    瀏覽量

    20485
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    363

    瀏覽量

    23297
  • Bash
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    10169
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    如何在bash中分割字符串

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

    C++字符串string

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

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

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

    字符串的表示

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

    字符字符串的顯示原理

    字符字符串的顯示原理     1.字符的表示方法    現(xiàn)代計(jì)算機(jī)不僅處理數(shù)值領(lǐng)域的問(wèn)題,而且處理大量非數(shù)值領(lǐng)域的問(wèn)題。這樣一來(lái),必然要
    發(fā)表于 04-13 11:38 ?1w次閱讀

    strtok拆分字符串

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

    C語(yǔ)言-字符串處理

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

    平化字符串處理方法簡(jiǎn)介

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

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

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

    BASH shell腳本篇—條件命令

    這篇文章介紹下BASH shell中的條件相關(guān)的命令,包括:if, case, while, until, for, break, continue。
    的頭像 發(fā)表于 10-11 15:21 ?581次閱讀
    <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 ?1033次閱讀

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

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

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

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

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

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