bash自帶的切片操作的實(shí)現(xiàn)
本文主要介紹了 bash自帶的切片操作的實(shí)現(xiàn),具體如下:
echo ${#a} # $a中字符串的個(gè)數(shù)
echo ${a:3} # $a中從第三個(gè)開始取直到結(jié)束
echo ${a:3:2} # $a中從第三個(gè)開始去兩個(gè)字符
echo ${a: -1} # 取最后一個(gè)字符
echo ${a#*.} # 從左邊開始刪除直到遇到.為止
echo ${a##*.} # 從左邊開始刪除直到遇到最后一個(gè).為止
echo ${a%.*} # 從右面開始刪除直到遇到.為止
echo ${a%%.*} # 從右面開始刪除直到遇到最后一個(gè).為止
echo ${a//abc/xyz} # 將變量a中的所有的abc替換成xyz
echo ${1#--check=} #刪除第1個(gè)位置變量里的--check=字符串
echo ${1##[-+]} #刪除第1個(gè)位置變量的內(nèi)容開頭的-或者+
cut 截取字符串
-c, --characters=LIST
select only these characters- 表示連續(xù), 表示不連續(xù)
[root@rocky ~]# str="pythoniloveyou" [root@rocky ~]# echo $str pythoniloveyou [root@rocky ~]# echo $str|cut -c 1-6 python [root@rocky ~]# echo $str|cut -c 1,6 pn [root@rocky ~]# echo $str|cut -c 1,6-9 pnilo
統(tǒng)計(jì)一個(gè)字符串的個(gè)數(shù)
[root@rocky ~]# echo ${#str}
14
[root@rocky ~]# echo $str|wc -L
14
截取
[root@rocky ~]# echo ${str:0:6}
python
[root@rocky ~]# echo ${str:7:4}
love
[root@rocky ~]# echo ${str: -3}
you
從左邊開始刪除直到遇到.為止
[root@rocky ~]# bigcity="beijing.shanghai.guangzhou.shenzhen.changsha"
[root@rocky ~]# echo ${bigcity#*.}
shanghai.guangzhou.shenzhen.changsha
[root@rocky ~]# echo ${bigcity##*.}
changsha
從右面開始刪除直到遇到.為止
[root@rocky ~]# echo ${bigcity%.*}
beijing.shanghai.guangzhou.shenzhen
[root@rocky ~]# echo ${bigcity%%.*}
beijing
刪除第一個(gè)位置變量的內(nèi)容開頭的-或者+
[root@rocky shell]# vim slice.sh
echo ${1##[-+]}
[root@rocky shell]# bash slice.sh abc+def-ghi+jkl-mno
abc+def-ghi+jkl-mno
[root@rocky shell]# bash slice.sh +abc+def-ghi+jkl-mno
abc+def-ghi+jkl-mno
[root@rocky shell]# bash slice.sh -abc+def-ghi+jkl-mno
abc+def-ghi+jkl-mno
刪除第一個(gè)位置變量里的 --check=字符串
[root@rocky shell]# cat slice.sh
echo ${1##[+-]}
echo ${1#--check=}
[root@rocky shell]# bash slice.sh --check=root
-check=root
root
如果nicelevel變量存在就輸出它的值,如果沒(méi)有賦值,則輸出空值
[root@rocky shell]# nicelevel=100
[root@rocky shell]# echo ${nicelevel:-}
100
如果niceleve1l變量存在就輸出它的值,如果沒(méi)有賦值,則輸出0
[root@rocky shell]# echo ${nicelevel1:-}
[root@rocky shell]# echo ${nicelevel1:-0}
0
替換
[root@rocky shell]# num="123123456123"
[root@rocky shell]# echo ${num/123/abc}
abc123456123
[root@rocky shell]# echo ${num//123/abc}
abcabc456abc
到此這篇關(guān)于bash自帶的切片操作的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)bash 切片操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Shell腳本自動(dòng)部署項(xiàng)目的方法步驟
本文主要介紹了Shell腳本自動(dòng)部署項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Linux oracle數(shù)據(jù)庫(kù)自動(dòng)備份自動(dòng)壓縮腳本代碼
這篇文章主要介紹了Linux oracle數(shù)據(jù)庫(kù)備份完成后可以自動(dòng)壓縮腳本代碼,大家參考使用2013-12-12
Linux Shell在目錄下使用for循環(huán)結(jié)合if查找文件的巧用
今天小編就為大家分享一篇關(guān)于Linux Shell在目錄下使用for循環(huán)結(jié)合if查找文件的巧用,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
Linux查看當(dāng)前系統(tǒng)的資源占用情況的常用命令
本文介紹了幾種常用的系統(tǒng)性能監(jiān)控工具,包括top、free、vmstat和iostat等命令的使用方法及其參數(shù)說(shuō)明,通過(guò)這些工具可以有效監(jiān)控CPU、內(nèi)存、磁盤IO等關(guān)鍵資源的狀態(tài),需要的朋友可以參考下2025-04-04
Linux?Shell腳本中如何獲取命令運(yùn)行的結(jié)果
腳本中常常要獲取一些命令的執(zhí)行結(jié)果,比如當(dāng)前目錄pwd、當(dāng)前時(shí)間date等等,下面這篇文章主要給大家介紹了關(guān)于Linux?Shell腳本中如何獲取命令運(yùn)行的結(jié)果,需要的朋友可以參考下2023-06-06

