linux shell expr命令 字串操作

2021-10-04 23:12:26 字數 2466 閱讀 4918

1、計算字串的長度。

我們可以用awk中的length(s)進行計算。我們也可以用echo中的echo $進行計算,當然也可以expr中的expr length $string 求出字串的長度。

舉例

[root@localhost shell]# string="hello,everyone my name is xiaoming"

[root@localhost shell]# echo $

34[root@localhost shell]# expr length "$string"

34

2、expr中的expr index $string substring索引命令功能

在字串$string上找出substring中字元第一次出現的位置,若找不到則expr index返回0或1。

舉例

[root@localhost shell]# string="hello,everyone my name is xiaoming"

[root@localhost shell]# expr index "$string" my

11[root@localhost shell]# expr index "$string" nihao

1

3、expr中的expr match $string substring命令

在string字串中匹配substring字串 返回匹配到的substring字串的長度,若找不到則返回0。

舉例

[root@localhost shell]# string="hello,everyone my name is xiaoming"

[root@localhost shell]# expr match "$string" my

0[root@localhost shell]# expr match "$string" hell.*

34[root@localhost shell]# expr match "$string" hell

4[root@localhost shell]# expr match "$string" small

0

4、字串中字元的抽取

在shell中可以用

進行對string字串中字元的抽取

第一種是從position位置開始抽取直到字串結束,第二種是從position位置開始抽取長度為length的子串。而用expr中的expr substr $string $position $length同樣能實現上述功能。

舉例

root@localhost shell]# string="hello,everyone my name is xiaoming"

[root@localhost shell]# echo $

yone my name is xiaoming

[root@localhost shell]# echo $

yone

[root@localhost shell]# echo $

yone my na

[root@localhost shell]# expr substr "$string" 10 5

ryone

注意:echo $和 expr substr "$string" 10 5的區別在於$以0開始標號而expr substr "$string" 10 5以1開始標號。

5、刪除字串

$為刪除string開頭處與substring匹配的最短字元子串,

$為刪除string開頭處與substring匹配的最長字元子串。

舉例

[root@localhost shell]# string="20091111 readnow please"

[root@localhost shell]# echo $

111 readnow please

[root@localhost shell]# string="20091111 readnow please"

[root@localhost shell]# echo $

readnow please

解析:第乙個為刪除2和1之間最短匹配,第二個為刪除2和1之間的最長匹配。

6、替換子串

$表示僅替換一次substring相配字元,

$表示為替換所有的substring相配的子串。

舉例

[root@localhost shell]# string="you and you with me"

[root@localhost shell]# echo $

me and you with me

[root@localhost shell]# string="you and you with me"

[root@localhost shell]# echo $

me and me with me

Android MTK Android 編譯命令

命令格式 maketek option project action modules option t tee 輸出log資訊到當前終端 o opt 編譯附加條件,一般使用 opt target build variant user來編譯使用者板軟體 h help 列印幫助資訊並退出 project...

applicationContext的命名空間

xsi schemalocation spring beans.xsd xmlns xmlns 宣告了乙個命名空間 例如 xmlns aop 這樣就可以用標籤了.通常情況下還需要提供乙個對映位址.比如 xmlns aop 提供乙個對映位址後變為 xmlns aop xsi schemalocatio...

kettle windos linux操作命令

rep 資源庫名稱 user 資源庫使用者名稱 pass 資源庫密碼 trans 要啟動的轉換名稱 dir 目錄 不要忘了字首 file 要啟動的檔名 轉換所在的 xml 檔案 level 日誌等級 基本,詳細,除錯,行級,錯誤,沒有 logfile 要寫入的日誌檔案 listdir 列出資源庫裡的...