1、使用unix自帶的方法:
成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、永仁網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、成都h5網(wǎng)站建設、商城網(wǎng)站定制開發(fā)、集團公司官網(wǎng)建設、外貿(mào)網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為永仁等各大城市提供網(wǎng)站開發(fā)制作服務。${varible##*string} 從左向右截取最后一個string后的字符串
${varible#*string}從左向右截取第一個string后的字符串
${varible%%string*}從右向左截取最后一個string后的字符串
${varible%string*}從右向左截取第一個string后的字符串
"*"只是一個通配符可以不要
$ test1=123456.txt
$ echo ${test1%.txt}
123456
$ echo ${test1#*23}
456.txt
$ test2=${test1%.txt}'.rst'
$ echo $test2
123456.rst
2、使用cut命令
$ test1=123456.txt
$ echo $test1|cut -f 1 -d .
123456
此處我略有疑問,為什么不能將此值賦值給另一個變量?比如:
$ test2=echo $test1|cut -f 1 -d .
ksh: 123456.txt: not found.
$ echo test2=$test1|cut -f 1 -d .
test2=123456
$ echo $test2
此處test2無值,why?
忽然想到shell中的反引號了,TAB鍵上面的那個,反引號引起來的部分會優(yōu)先執(zhí)行,做了下測試:
$ test2=`echo $test1|cut -f 1 -d .`
$ echo $test2
123456
$ test2=`echo $test1|cut -f 1 -d .`'.rst'
$ echo $test2
123456.rst
成功!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。