「YYYY-MM-DD」形式の日付を受け入れるシェルスクリプトを実行しています。この日付入力から、年、月、日を別々に取得するにはどうすればよいですか?
事前に返信いただきありがとうございます。
文字列をテキストとして処理することを除いて(grep/sed/awk/cut/...を使用)、dateコマンドで行うことができます:
kent$ date -d '2013-09-06' +%Y
2013
kent$ date -d '2013-09-06' +%m
09
kent$ date -d '2013-09-06' +%d
06
これを行うと、1 つのコマンドでそれらを変数に格納できます。
read YEAR MONTH DAY < <(date -d '2013-09-06' '+%Y %m %d')
printf "%s\n" "$YEAR" "$MONTH" "$DAY"