国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

BASH shell腳本篇3——字符串處理

這篇具有很好參考價值的文章主要介紹了BASH shell腳本篇3——字符串處理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

這篇文章介紹下BASH?shell中的字符串處理的相關(guān)命令。之前有介紹過shell的其它命令,請參考:

BASH shell腳本篇1——基本命令

BASH shell腳本篇2——條件命令

Bash字符串也是一種數(shù)據(jù)類型,它用于表示文本而不是數(shù)字,它是一組可能還包含數(shù)字的字符的組合。如果數(shù)字想要表示為字符串,那么需要程序員用引號將數(shù)字包起來,以便Bash將數(shù)據(jù)視為字符串。BASH對字符串的操作有很多方式,以下記錄了其中一些常用的用法。

1.字符串基本操作

字符串比較的命令有:

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

2.?字符串長度計算

字符串中的字符總數(shù)表示字符串的長度。我們有時需要判斷字符串的長度才能執(zhí)行特定任務。在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ù)分隔符來拆分字符串數(shù)據(jù),bash沒有直接的拆解字符串內(nèi)置函數(shù),但可以使用定界符在bash腳本中拆分字符串數(shù)據(jù)。分隔符可以是單個字符,也可以是包含多個字符的字符串。

我們可以使用$IFS變量來拆分,$IFS是一個特殊的內(nèi)部變量,用于將字符串拆分為單詞。$IFS變量稱為“內(nèi)部字段分隔符”,它確定Bash如何識別邊界。$IFS用于分配分隔字符串的特定定界符[IFS ='']??崭袷?code>$IFS的默認值。但是,也可以使用\t,\n,-等值作為分隔符。分配定界符后,可以通過兩個選項讀取字符串:-r-a。即,read -ra ARR <<< "$str"。在這里,選項-r用于定義反斜杠(\),它是字符而不是轉(zhuǎn)義字符。-a選項用于定義將單詞(用$IFS分隔)分配給從零開始的數(shù)組順序索引。然后,應用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提供了一個從字符串提取信息的選項,可以使用多種方法提取數(shù)字或給定的字符串。字符串提取的語法為:

${variable:offset:length}
# 其中:
# - variable是包含字符串的變量名稱
# - offset用于指定從何處開始提取字符串的位置,也可以是負的,反向提取
# - 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"
# 此命令將字符串變量的值與其它字符串拼接在一起

BASH shell腳本篇3——字符串處理,腳本,bash,linux,shell,腳本,代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-728545.html

到了這里,關(guān)于BASH shell腳本篇3——字符串處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 【Shell腳本3】Shell 字符串

    字符串是shell編程中最常用最有用的數(shù)據(jù)類型(除了數(shù)字和字符串,也沒啥其它類型好用了),字符串可以用單引號,也可以用雙引號,也可以不用引號。 單引號 單引號字符串的限制: 變量替換:在單引號字符串中,對變量的引用不會被解析或替換為其對應的值。即使使用

    2024年02月06日
    瀏覽(21)
  • 【Linux | Shell命令】bash shell 進程、磁盤、文件處理命令

    【Linux | Shell命令】bash shell 進程、磁盤、文件處理命令

    上篇文章 bash shell 基礎(chǔ)命令 中,介紹了一些與目錄、文件相關(guān)的 shell 命令,本文繼續(xù)介紹其他與進程、磁盤、排序、歸檔相關(guān)的命令,讀者可以在自己的Linux系統(tǒng)下,實操這些命令,進而收悉并掌握這些命令。本文是一篇學習筆記,很多內(nèi)容是參考了《Linux命令行與shell腳本

    2024年02月11日
    瀏覽(100)
  • 盤點Shell腳本8種字符串截取方法

    盤點Shell腳本8種字符串截取方法

    這篇文章主要介紹了Shell腳本8種字符串截取方法總結(jié),每個方法給出了實例代碼和操作結(jié)果,一目了然,需要的朋友可以參考下 Linux 的字符串截取很有用。有八種方法。 假設有變量 var=http://www.aaa.com/123.htm. 1. # 號截取,刪除左邊字符,保留右邊字符。 代碼如下: echo ${var#*//} 其中

    2024年02月14日
    瀏覽(20)
  • Shell腳本中文英文多語言國際化和命令行批處理(bash sh cmd bat)中定義函數(shù)的簡單寫法

    有時候為了方便別人使用,我們會選擇去編寫各種各樣的命令行腳本:給Windows用戶編寫 .bat cmd批處理腳本,給macOS、Linux用戶編寫 .sh bash shell腳本。 面向國內(nèi)用戶當然應當首選中文作為腳本的顯示語言,如果還要支持海外用戶使用,那么能提供國際化多語言( i18n )支持那是

    2024年02月08日
    瀏覽(23)
  • BASH shell腳本篇4——函數(shù)

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

    ?這篇文章介紹下BASH?shell中的函數(shù)。之前有介紹過shell的其它命令,請參考: BASH shell腳本篇1——基本命令 BASH shell腳本篇2——條件命令 BASH shell腳本篇3——字符串處理 函數(shù)是代碼重用的最重要方式。Bash函數(shù)可以定義為一組命令,在bash腳本中多次調(diào)用。bash函數(shù)使腳本更具可

    2024年02月07日
    瀏覽(27)
  • linux獲取字符串最后幾位,Shell截取字符串的8種方法

    Linux 的字符串截取很有用。有八種方法。 假設有變量 var=http://www.aaa.com/123.htm. echo ${var#*/} 其中 var 是變量名,# 號是運算符,*/ 表示從左邊開始刪除第一個 / 號及左邊的所有字符 即刪除 http:// 結(jié)果是 :www.aaa.com/123.htm echo ${var##*/} ##*/ 表示從左邊開始刪除最后(最右邊)一個 / 號

    2024年02月13日
    瀏覽(31)
  • BASH shell腳本篇2——條件命令

    BASH shell腳本篇2——條件命令

    這篇文章介紹下BASH?shell中的條件相關(guān)的命令,包括:if, case, while, until, for, break,?continue。之前有介紹過shell的其它基本命令,請參考:BASH shell腳本篇1——基本命令 1. If語句 if 語句用于在順序執(zhí)行語句的流程中執(zhí)行條件任務。 If 語句通常用于在Bash腳本中做出決定。它們根據(jù)

    2024年02月07日
    瀏覽(24)
  • bash shell 中的特殊字符詳解

    井號常用作注釋符號 1.注釋示例 2.某命令后注釋,#號前需要添加一個空格 3.注釋前亦可跟空白字符 4.注釋符號還可以被嵌入到帶管道的命令當中 5.當然,在echo命令中被引用或者被轉(zhuǎn)義的#號不會成為注釋,#號也會出現(xiàn)在特定的參數(shù)替換結(jié)構(gòu)中及一些數(shù)值常量表達式中 6.標準的

    2024年02月14日
    瀏覽(17)
  • 【linux】 shell 之 字符串 -z, -n 判斷

    -n : 字符串長度不等于 0 為真 ,助記符 no zero , example : -z : 字符串長度等于 0 為真 ,助記符 zero , example : 需要注意的是,在[]中,使用-z 或-n 判斷字符串長度時,變量要加雙引號 。 舉例說明: 加了雙引號才能正常判斷是否為空: 使用了雙中括號就不用了雙引號

    2024年01月21日
    瀏覽(23)
  • sh與bash:Shell腳本中的微妙差異

    在Unix和Linux的世界中,Shell是用戶與操作系統(tǒng)交互的主要界面。Shell提供了命令行界面,使得用戶能夠執(zhí)行各種命令和操作。在眾多的Shell中,sh和bash是最常見且使用最廣泛的兩種。盡管它們在很多方面相似,但在功能、特性和語法上,它們之間仍存在一些微妙的差異。 一、起

    2024年04月15日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包