前言
在Linux shell編程中,我們經常需要截取某個字符串來,繼續操作,比如:截取日期來創建整分鐘的目錄之類的。
字符截取
測試字符串
var=1234567890abcedef1203
1、使用#截取0以後的內容
echo ${var#*0}
結果:abcedef1203
#表示操作符,*0表示從左往右找到第一個0,截取0之後的所有字符
echo ${var##*0}
結果:3
#表示操作符,*0表示從右往左找到第一個0,截取0之後的所有字符
2、使用%截取
echo ${var%0*}
結果:1234567890abcedef12
%表示操作符,0*表示從右往左找到第一個0,截取0之前的所有字符
echo ${var%%0*}
結果:123456789
%表示操作符,0*表示從左往右找到第一個0,截取0之前的所有字符
3、根據索引來截取
echo ${var:0:7}
結果:1234567
其中的 0 表示左邊第一個字符開始,7 表示字符的總個數。
echo ${var:7:5}
結果:890ab
其中的 7 表示左往右第七個字符開始,5 表示字符的個數。
echo ${var:0-7:5}
結果:def12
其中的 0-7 表示右往左第七個字符開始,5 表示字符的個數。
echo ${var:0-7}
結果:def1203
如果不加字符個數就截取剩下的所有字符
總結
shell用來處理字符串還是不習慣,但是不難!