linux 字符串string操作(截取、提取、长度计算等)
1、按照指定字符提取
${varible##*string} 從左向右截取最后一個string后的字符串
${varible#*string}從左向右截取第一個string后的字符串
${varible%%string*}從右向左截取最后一個string后的字符串
${varible%string*}從右向左截取第一個string后的字符串
ex:
延申:
1) 做字符串刪除
${變量名#substring正則表達式}從字符串開頭開始配備substring,刪除匹配上的表達式。
${變量名%substring正則表達式}從字符串結尾開始配備substring,刪除匹配上的表達式。
注意:${str##*/}, ${str%/*} 分別是得到文件名,或者目錄地址最簡單方法。
str="/home/domi/study"echo ${str} /home/domi/studyecho ${str#/} home/domi/studyecho ${str#*/} home/domi/studyecho ${str##*/} study2)?字符串替換
${變量/查找/替換值} 一個“/”表示替換第一個,”//”表示替換所有,當查找中出現了”/”請加轉義符”\/”表示。
echo ${str/\//\\} \home/domi/studyecho ${str//\//\\} \home\domi\study?
2、提取指定位置、長度的字符串
${varible:n1:n2}:截取變量varible從n1開始,長度為n2的字符串。
echo ${str:2:2} cdecho ${str:2:1} cecho ${str:0:1} aecho ${str:0:2} ab${varible:n1-n3:n2}:截取變量varible從后到前計算(n1-n3)位置開始,長度為n2的字符串。
echo ${str:1-2:2} 3echo ${str:1-3:2} 23echo ${str:1-3:1} 2?
3、提取指定格式的字符串
比如獲取后綴名
ls -l | cut -d “.” -f2
注釋:ls -l顯示所有的文件信息,cut按照(.)來切割,并提取第二列數據。
?
4、字符串長度
echo ${#str}?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的linux 字符串string操作(截取、提取、长度计算等)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 删除小于、大于固定大小的文件
- 下一篇: linux shell判断文件、目录是否