• 追加された行はこの色です。
  • 削除された行はこの色です。
* 文字列から部分的に文字列を取り出す [#pad8f0c8]

bashのパラメータ展開を使う。

*** 先頭の文字列を取り出す [#b797f469]
 filename="2010-06-01.jpg"
 year=${filename%%-*}
- 変数filenameについて、右から"-*"に最長一致でマッチする文字列が削除され、"2010"が返る。
-${filename%-*}の場合、最短一致になるので、"2010-06"が返る。
** 前提 [#xa2ba952]
 ymd=2010-06-01

*** 末尾の文字列を取り出す [#gbeac7a7]
 filename="file.tar.gz"
 ext=${filename##*.}
- 変数filenameについて、左から"*."に最長一致でマッチする文字列が削除され、"gz"が返る。
-${filename#*.}の場合、最短一致になるので、"tar.gz"が返る。
** 先頭の文字列を取り出す [#b797f469]
変数に対して%を指定して、続くワイルドカードにマッチする部分を文字列先頭から探して、取り除く。
*** 最長一致 [#z7bc3fa3]
 y=${ymd%%-*}
「2010」

*** 最短一致 [#t9f4ff5d]
 ym=${ymd%-*}
「2010-06」

** 末尾の文字列を取り出す [#gbeac7a7]
変数に対して#を指定して、続くワイルドカードにマッチする部分を文字列末尾から探して、取り除く。
*** 最長一致 [#p61ef5a1]
 d=${ymd##*-}
「01」

*** 最短一致 [#if216a6f]
 md=${ymd#*-}
「06-01」


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS