sedでハマる@RHEL4/シェル
ファイル名に含まれる年月日を抜き出そうと、
hogedate=`echo "hogepon20070125.ahe" | sed -e "s/hogepon(\d+)\.ahe/$1/"`
みたいなコトが出来ると思ってドロ沼はまってもうた orz|||
結局
hogedate=`echo "hogepon20070125.ahe" | sed -e "s/\(hogepon\|\.ahe\)//g"`
で回避(´・ω・`)
後日、結局グループ使えた。。。書き方訳わからへんーーー
hogedate=`echo "hogepon20070125.ahe" | sed -e "s/hogepon\([0-9]*\)\.ahe/\\1/"`
- グループ化するときは「\(\)」で囲む(\がいるのか・・・)
- 「+」(1文字以上)は「\+」で
- 「*」(0文字以上)はそのまま「*」で
- 「|」(パイプ)は「\|」で
- 数字は「[0-9]」。「\d」はなさげ
- グループは「\\1」とか