shell腳本字符串截取的多種方法


1、cut命令

cut命令主要是接受三個定位方法:

第一,字節(bytes),用選項-b

第二,字符(characters),用選項-c

第三,域(fields),用選項-f

str="abchyew2635"
echo $str|cut -c 6-9

結果:

yew2


2、# 號截取,刪除左邊字符,保留右邊字符  

var="hello world"                    
echo ${var#*l}
結果:
lo world

其中 var 是變量名,# 號是運算符,*l 表示從左邊開始刪除第一個 l及左邊的所有字符
即刪除 hel      

                                                                                              

3、## 號截取,刪除左邊字符,保留右邊字符。

 var="hello world"
 echo ${var##*l}
 結果:
 d


##*l 表示從左邊開始刪除最後(最右邊)一個l及左邊的所有字符
即刪除 hello worl


4、%號截取,刪除右邊字符,保留左邊字符

var="hello world"
echo ${var%l*}
結果:
hello wor


%l* 表示從右邊開始,刪除第一個l及右邊的字符

即刪除d


5、%% 號截取,刪除右邊字符,保留左邊字符

var="hello world"
 echo ${var%%l*}
 結果:
 he


%%l* 表示從右邊開始,刪除最後(最左邊)一個l及右邊的字符

即刪除llo world


6、從左邊第幾個字符開始,及字符的個數

var="hello world"
echo ${var:0:3}
結果:
hel



其中的 0 表示左邊第一個字符開始,3表示字符的總個數。


7、從左邊第幾個字符開始,一直到結束。

var="hello world"
echo ${var:2}
結果:
llo world


其中的 2表示左邊第3個字符開始,一直到結束。


8、從右邊第幾個字符開始,及字符的個數

var="hello world"
echo ${var:0-2:3}
結果:
ld


其中的 0-2 表示右邊算起第二個字符開始,3 表示字符的個數。


9、從右邊第幾個字符開始,一直到結束。

var="hello world"
echo ${var:0-2}
結果:
ld


表示從右邊第二個字符開始,一直到結束。


總代碼:

#!/bin/bash
var="hello world"
echo ${var#*l}
echo ${var##*l}
echo ${var%l*}
echo ${var%%l*}
echo ${var:0:3}
echo ${var:2}
echo ${var:0-2:3}
echo ${var:0-2}


[fbl@www test6_16]$ ./string.sh 
lo world
d
hello wor
he
hel
llo world
ld
ld


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章