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/