在這里,筆者介紹另外一個命令basename命令。其實(shí)這也是一個字符串相關(guān)的處理命令。其基本格式為basename text1 text2。他的基本功能就是從第一個字符串中去掉第二個字符串的內(nèi)容。如執(zhí)行命令basename setup.sh sh,則就表示將setup.sh這個字符串中的sh字符串去掉,變?yōu)閟etup.。那么此就可以利用這個命令來進(jìn)行成批修改擴(kuò)展名。其具體的實(shí)現(xiàn)方式跟上面類似。只是在截取文件名字符串的時候,采用了basename命令,而不是expr命令。而basename命令本身就帶有截取字符串的功能,不需要采用正則表達(dá)式。所以實(shí)現(xiàn)起來相對簡單一點(diǎn)。
從這個案例中,筆者也想再次強(qiáng)調(diào)一下一個字符串處理的基本原則。即無論是截取字符串還是對字符串進(jìn)行的其他操作,如果可以通過系統(tǒng)命令+可選項(xiàng)參數(shù)來實(shí)現(xiàn)的,就采用這種實(shí)現(xiàn)方式。如果沒有的話,需要考慮能否采用basename等不需要正則表達(dá)式的命令來實(shí)現(xiàn)。只有在以上兩種方式都不可行的情況下,才考慮使用exper命令來實(shí)現(xiàn)。這主要是因?yàn)檎齽t表達(dá)式的設(shè)計(jì)實(shí)在比較麻煩,雖然其功能比較強(qiáng)大。利用exper來統(tǒng)計(jì)一下字符串的長度還好,但是如果要實(shí)現(xiàn)一些復(fù)雜功能,如截取字符串或者確定字符的位置,就需要系統(tǒng)工程師有比較深厚的功底了。
全國職稱計(jì)算機(jī)考試速成過關(guān)系列套裝:W .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 | |
全國職稱計(jì)算機(jī)考試速成過關(guān)系列套裝:W .. 定價:¥124 優(yōu)惠價:¥124.0 更多書籍 |