Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#1 Le 08/02/2013, à 13:59

Hizoka

[resolu] conversion date JJ//MM en MM/JJ

Bonjour,

J'ai une liste de date au format JJ/MM/AAAA que je voudrais convertir en MM/JJ/AAAA, je pense que la commande date peut le faire mais il ne comprend pas ma date de base :

date +%m/%d/%Y -d 25/02/2013
date: date non valide «25/02/2013»

est-ce possible ?

ou faut-il utiliser sed ? (un truc du genre sed "s@\(.*\)/\(.*\)/\.*\)@\2/\1/\3@")

Dernière modification par Hizoka (Le 08/02/2013, à 17:09)

Hors ligne

#2 Le 08/02/2013, à 14:05

Hoper

Re : [resolu] conversion date JJ//MM en MM/JJ

Personnellement j'utiliserai plutôt la commande awk.
Essaye ça :

export TEST="10/12/2003"
echo $TEST | awk -F '/' '{print $2"/"$1"/"$3}'


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#3 Le 08/02/2013, à 14:11

Hizoka

Re : [resolu] conversion date JJ//MM en MM/JJ

ouais plus simple mais je voulais savoir si date permettait de le faire

Hors ligne

#4 Le 08/02/2013, à 14:29

Hoper

Re : [resolu] conversion date JJ//MM en MM/JJ

Le problème c'est que la commande date attend justement une date au format que tu souhaite, à savoir : (extrait du man)  [MMDDhhmm[[CC]YY][.ss]]

Donc d'abbord le mois, ensuite l'heure, puis les minutes. (et optionnellement, l'année et les secondes)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#5 Le 08/02/2013, à 14:30

Hizoka

Re : [resolu] conversion date JJ//MM en MM/JJ

oui c'est ce que j'ai vu, je me suis dit que ca venait peut etre de moi mais pour le coup ca ne semble pas smile

bah en attendant d'avoir une autre confirmation, je vais utiliser ton awk smile

merci

Hors ligne

#6 Le 08/02/2013, à 14:52

credenhill

Re : [resolu] conversion date JJ//MM en MM/JJ

hello

$ date=25/2/2013
$ date +%m/%d/%Y -d "$(export IFS="/" ; set -- $date; echo $3/$2/$1)"
02/25/2013

edit: ou

$ oIFS="$IFS"; export IFS="/" ; set -- $date; IFS="$oIFS"; date=$2/$1/$3; echo $date
2/25/2013

Dernière modification par credenhill (Le 08/02/2013, à 15:42)

Hors ligne

#7 Le 08/02/2013, à 15:55

Hoper

Re : [resolu] conversion date JJ//MM en MM/JJ

Alors la... LOL smile Mais tu répond bien à la problématique posée smile

Dernière modification par Hoper (Le 08/02/2013, à 15:56)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#8 Le 08/02/2013, à 16:34

credenhill

Re : [resolu] conversion date JJ//MM en MM/JJ

si c'est juste pour permuter JJ et MM et qu'on n'a pas besoin d'options de la commande date, on peut aussi:

$ echo $date
2/25/2013
$ echo ${date:2:2}/${date:0:1}/${date:5:4}
25/2/2013

Hors ligne

#9 Le 08/02/2013, à 17:09

Hizoka

Re : [resolu] conversion date JJ//MM en MM/JJ

ok donc impossible en passant "simplement" par date.

Merci à vous tous pour vos propositions smile

Hors ligne

Haut de page ↑