2012-10-07 114 views
3

說我有一個從ls在bash腳本以下文件名:如何獲得在bash中字符串的第一部分

things-hd-91-Statistics.db 
things.things_domain_idx-hd-38-Data.db 

在bash中,這將是多麼能夠得到的第一部分字符串'things'在兩種情況下? 基本上去掉字符串的其餘部分經過第一-.

回答

13

你會使用parameter expansion

string="things-hd-91-Statistics.db" 
echo "${string%%-*}" 
things

${parameter%%pattern}的「模式」(-*)是針對「參數」結束匹配。結果是刪除了最長匹配的'參數'的擴展值。

同樣,對於其他範例,該模式將%%.*

+2

或者,結合在一個二:'$ - '{字符串%% * [。]}。 –

+0

@JonathanLeffler這很酷:謝謝。 – jasonwryan

相關問題