Convertir MM-JJ-AA MM: SS en AA-MM-JJ MM: SS

Je veux convertir une date comme

12-24-11 13:37 

(MM-JJ-AA MM: SS) à

 11-12-24 13:37 

(AA-MM-JJ MM: SS)

Est-ce qu’il y a un moyen de faire ça?

sed à la rescousse:

 $ echo 12-24-11 13:37 | sed 's#^\([0-9\-]\{5\}\)-\([0-9]\{2\}\)#\2-\1#' 11-12-24 13:37 

Pas de sed nécessaire.

 #!/bin/sh input="12-24-11 13:37"; month="${input%%-*}"; input="${input#*-}"; day="${input%%-*}"; input="${input#*-}"; year="${input%% *}"; input="${input#* }"; echo "$year-$month-$day $input"; 

Mais si vous souhaitez utiliser des outils externes, utilisez-en autant avec une expression rationnelle courte.

 echo 12-24-11 13:37 | perl -pe 's/(.+)-(.+) /$2-$1 /' 

Cela devrait vous orienter dans la bonne direction – http://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/