shell中字串操作【轉】
轉自:http://blog.chinaunix.net/uid-29091195-id-3974751.html
我們所遇到的程式語言中(彙編除外)都少不了字串處理函式吧,
當然shell程式設計也不例外咯,那麼下面我們一起來看下shell中字串
處理的相關操作吧。大概下面的字串操作可以分為兩種型別,一種
屬於變數替換,另一種屬於繼承unix expr命令吧!
1、測試字串長度 ${#string} expr length $string expr "$string" : '.*' 例: #!/bin/bash str="asfd" echo "${#str}" a=expr length $str echo "a=$a" a=0 a=`expr "$str" : '.*'` echo "a=$a" 2、匹配字串開頭的子串長度 expr match "$string" '$substring' $substring是一個正規表示式. expr "$string" : '$substring' $substring是一個正規表示式. 例: #!/bin/bash str=abcABC123ABCabc echo `expr match "$str" 'abc[A-Z]*.2'` # 8 echo `expr "$str" : 'abc[A-Z]*.2'` # 8 3、索引 expr index $string $substring 在字串$string中所匹配到的$substring第一次所出現的位置. 例: #!/bin/bash str=abcABC123ABCabc echo `expr index "$str" C` # 6 C 字元的位置. echo `expr index "$str" c` # 3 4、提取子串 ${string:position} 在$string中從位置$position開始提取子串。 如果$string是"*"或者"@", 那麼將會提取從位置$position開始的位置引數. [1] ${string:position:length} 在$string中從位置$position開始提取$length長度的子串. 例: #!/bin/bash str="abcABC123ABCabc" echo ${str:0} #輸出abcABC123ABCabc echo ${str:3} #輸出ABC123ABCabc echo ${str:6:3} #輸出123 5、子串削除 ${string#substring} 從$string的開頭位置截掉最短匹配的$substring. ${string##substring} 從$string的開頭位置截掉最長匹配的$substring. 例: #!/bin/bash str="abcABC123ABCabc" echo ${str#a*C} #輸出123ABCabc echo ${str##a*C} #輸出abc echo ${str##a*1} #輸出23ABCabc ${string%substring} 從$string的結尾位置截掉最短匹配的$substring. ${string%%substring} 從$string的結尾位置截掉最長匹配的$substring. 例: #!/bin/bash str=abcABC123ABCabc echo ${str%b*c} #輸出 abcABC123ABCa echo ${str%%b*c} #輸出 a 6、子串替換 ${string/substring/replacement} 使用$replacement來替換第一個匹配的$substring. ${string//substring/replacement} 使用$replacement來替換所有匹配的$substring. ${string/%substring/replacement} 如果$substring匹配$string的結尾部分, 那麼就用$replacement來替換$substring. ${string/#substring/replacement} 如果$substring匹配$string的開頭部分, 那麼就用$replacement來替換$substring. 例: #!/bin/bash str="abcABC123ABCabc" echo ${str/ABC/&&&} #輸出 abc&&&123ABCabc echo ${str//ABC/&&&&} #輸出 abc&&&&123&&&&abc echo ${str/%abc/&&&} #輸出 abcABC123ABC&&& echo ${str/#abc/&&&} #輸出 &&&ABC123ABCabc
【作者】張昺華
【新浪微博】 張昺華--sky
【twitter】 @sky2030_
【facebook】 張昺華 zhangbinghua
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利.
相關文章
- shell 字串操作字串
- Linux Shell程式設計(15)——操作字串Linux程式設計字串
- 【轉載】SHELL字串處理技巧(${}、##、%%)字串
- shell下數字和字串比較操作命令字串
- Awk 字串連線操作(字串轉數字,數字轉字串)字串
- Shell字串字串
- Shell中的字串擷取介紹字串
- (轉)Shell常用處理字串方法(備查)字串
- shell指令碼字串和陣列的使用操作方法指令碼字串陣列
- Linux教程——Shell中字串與陣列操作例項Linux字串陣列
- 在shell提示下操作檔案(轉)
- 【轉】shell指令碼處理字串的常用方法指令碼字串
- delphi中關於字串的操作字串
- Shell基礎教程七:Shell字串字串
- Linux Shell 字串操作(長度,查詢,替換)詳解Linux字串
- Linux Shell 字串操作(長度/查詢/替換)詳解Linux字串
- shell程式設計Bash中對變數的操作方法談(轉)程式設計變數
- shell中字串分割字串
- 【轉載】Python字串操作之字串分割與組合Python字串
- shell 給字串增加單引號,並移除字串中多餘的空格字串
- linux shell 字串操作(長度,查詢,替換)詳解 BASHLinux字串
- shell命令列中操作HBase資料庫命令列資料庫
- 字串操作彙總(不斷新增中)字串
- HDFS Shell操作
- 字串操作字串
- 部分liunx下字串操作函式(轉載)字串函式
- SHELL字串使用總結字串
- shell中set命令詳解(轉)
- shell 中的export作用(轉載)Export
- JavaScript中對字串常用的操作方法JavaScript字串
- shell中輸入字串和文字在同一行字串
- 轉—ABAP常用字串操作收集整理字串
- 【shell 】檔案操作
- shell切分字串到陣列字串陣列
- shell字串處理總結字串
- shell擷取字串的方法字串
- shell 下的字串比較字串
- shell獲取字串長度字串