認識できない形式の日付と時刻が与えられた場合、その日付と時刻をどのようにdate
認識できますか?date
たとえば、
$ date -d "09SEP2012:23:58:46"
date: invalid date `09SEP2012:23:58:46'
$ date -d "09SEP2012:23:58:46" --magic-option "ddMMMYYY:hh:mm:ss"
Sun Sep 9 23:58:46 MDT 2012
存在しますか--magic-option
?そうでなければ、sed
入力を正しい形式の日付文字列に変換するよりも、この問題を解決するためのよりエレガントな方法はありますか?
ベストアンサー1
POSIXやGNU Date --magic-option
FreeBSDはそれを呼び出しません(提案された構文ではなく出力書式指定子に-f
似た構文で)。date
あなたの日付がGNU Dateで認識されるのに非常に近いです。やるべきことは、日付と時刻を区切るコロンを空白に置き換えることだけです。
date -d "$(echo "09SEP2012:23:58:46" | sed 's/:/ /')"