生活随笔
收集整理的這篇文章主要介紹了
shell中字符串操作【转】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉自:http://blog.chinaunix.net/uid-29091195-id-3974751.html
我們所遇到的編程語言中(匯編除外)都少不了字符串處理函數吧,
當然shell編程也不例外咯,那么下面我們一起來看下shell中字符串
處理的相關操作吧。大概下面的字符串操作可以分為兩種類型,一種
屬于變量替換,另一種屬于繼承unix expr命令吧!
??
1、測試字符串長度${#string}expr length $stringexpr "$string" :
'.*'例:#!/bin/
bashstr=
"asfd"echo "${#str}"a=
expr length $strecho "a=$a"a=
0a=`expr
"$str" :
'.*'`echo "a=$a"2、匹配字符串開頭的子串長度expr match "$string" '$substring'$substring是一個正則表達式.expr "$string" :
'$substring'$substring是一個正則表達式.例:#!/bin/
bashstr=
abcABC123ABCabcecho `expr match "$str" 'abc[A-Z]*.2'` #
8echo `expr "$str" :
'abc[A-Z]*.2'` #
83、索引expr index $string $substring在字符串$string中所匹配到的$substring第一次所出現的位置.例:#!/bin/
bashstr=
abcABC123ABCabcecho `expr index "$str" C` #
6 C 字符的位置.echo `expr index "$str" c` #
34、提取子串${string:position}在$string中從位置$position開始提取子串。如果$string是"*"或者
"@", 那么將會提取從位置$position開始的位置參數. [
1]${string:position:length}在$string中從位置$position開始提取$length長度的子串.例:#!/bin/
bashstr=
"abcABC123ABCabc"echo ${str:0} #輸出abcABC123ABCabcecho ${str:3} #輸出ABC123ABCabc echo ${str:6:
3} #輸出1235、子串削除${string#substring}從$string的開頭位置截掉最短匹配的$substring.${string##substring}從$string的開頭位置截掉最長匹配的$substring.例:#!/bin/
bashstr=
"abcABC123ABCabc"echo ${str#a*
C} #輸出123ABCabcecho ${str##a*
C} #輸出abcecho ${str##a*
1} #輸出23ABCabc${string%
substring}從$string的結尾位置截掉最短匹配的$substring.${string%%
substring}從$string的結尾位置截掉最長匹配的$substring.例:#!/bin/
bashstr=
abcABC123ABCabcecho ${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/
bashstr=
"abcABC123ABCabc"echo ${str/ABC/&&&} #輸出 abc&&&
123ABCabcecho ${str//ABC/&&&&} #輸出 abc&&&&123&&&&abcecho ${str/%abc/&&&} #輸出 abcABC123ABC&&&
echo ${str/#abc/&&&} #輸出 &&&ABC123ABCabc
?
本文轉自張昺華-sky博客園博客,原文鏈接:http://www.cnblogs.com/sky-heaven/p/5681899.html,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的shell中字符串操作【转】的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。