Heure AM/PM en français [Résolu/Fermé]

pheslot 61 Messages postés lundi 17 décembre 2007Date d'inscription 6 juillet 2011 Dernière intervention - 5 févr. 2008 à 15:28 - Dernière réponse :  kary
- 24 août 2011 à 17:30
Bonjour,

Sous Unix comment transformer dans un fichier texte une heure du genre : 09:00 PM ou 03:00 AM en 21:00 et 3:00 ?


Merci d'avance
Afficher la suite 
61Messages postés lundi 17 décembre 2007Date d'inscription 6 juillet 2011 Dernière intervention

7 réponses

jipicy 43485 Messages postés jeudi 28 août 2003Date d'inscriptionModérateurStatut 7 novembre 2010 Dernière intervention - 5 févr. 2008 à 15:59
+11
Utile
Salut,

man date
info date
$ date -d "09:00 PM" +%R
21:00
$ date -d "03:00 AM" +%l:%M
 3:00
;-))
Cette réponse vous a-t-elle aidé ?  
pheslot 61 Messages postés lundi 17 décembre 2007Date d'inscription 6 juillet 2011 Dernière intervention - 5 févr. 2008 à 16:31
+4
Utile
Salut jipicy,

Oups, j'ai oublié de préciser que le fichier texte et générer sous windob et est du genre :

Wed 11/21/2007
05:12 PM
25
Wed 11/21/2007
05:14 PM
26
Thu 11/22/2007
09:04 AM
8

+2
Utile
1
Merci jipicy, c'est super.
Je me suis fais une machine virtuelle sous Ubuntu pour être compatible avec tes réponses ;-)
jipicy 43485 Messages postés jeudi 28 août 2003Date d'inscriptionModérateurStatut 7 novembre 2010 Dernière intervention - 5 févr. 2008 à 17:35
+1
Utile
J'ai bien une solution, mais elle est à base de "GNU sed" et je doute que ça marche sous Unix ;-((
jipicy 43485 Messages postés jeudi 28 août 2003Date d'inscriptionModérateurStatut 7 novembre 2010 Dernière intervention - 6 févr. 2008 à 15:10
+1
Utile
De rien ;-))
jipicy 43485 Messages postés jeudi 28 août 2003Date d'inscriptionModérateurStatut 7 novembre 2010 Dernière intervention - 5 févr. 2008 à 20:19
0
Utile
Je te colle la solution à base de "GNU sed" (> 4.0.5) :
$ cat foo.sh
#! /bin/bash

while read line
do
case "$(egrep -o "AM|PM" <<<${line})" in
AM)     sed -i "/${line}/ s/.\(.:..\).*/\1/" plop
        ;;
PM)    sed -i "/${line}/ s//date -d \"${line}\" +%R/e" plop
        ;;
esac
done < plop

$ cat plop
Wed 11/21/2007
05:12 PM
25
Wed 11/21/2007
05:14 PM
26
Thu 11/22/2007
09:04 AM
8

$ ./foo.sh
$ cat plop
Wed 11/21/2007
17:12
25
Wed 11/21/2007
17:14
26
Thu 11/22/2007
9:04
8
;-))