文字列から部分的に文字列を取り出す
bashのパラメータ展開を使う。
前提
ymd=2010-06-01
先頭の文字列を取り出す
変数に対して%を指定して、続くワイルドカードにマッチする部分を文字列先頭から探して、取り除く。
最長一致
y=${ymd%%-*}
「2010」
最短一致
ym=${ymd%-*}
「2010-06」
末尾の文字列を取り出す
変数に対して#を指定して、続くワイルドカードにマッチする部分を文字列末尾から探して、取り除く。
最長一致
d=${ymd##*-}
「01」
最短一致
md=${ymd#*-}
「06-01」