6

lsbash スクリプトから次のファイル名があるとします。

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

bash では、どちらの場合も文字列の最初の部分をどのように取得できます'things'か? 基本的に、最初-または.

4

1 に答える 1

16

パラメータ展開を使用します:

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

${parameter%%pattern}'pattern'( )のどこ-*が'parameter'の終わりと一致します。結果は、最も長い一致が削除された「パラメータ」の拡張値です。

同様に、他の例の場合、パターンは次のようになります。%%.*

于 2012-10-07T06:11:15.337 に答える