Signaler

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

Posez votre question pheslot 61Messages postés lundi 17 décembre 2007Date d'inscription 6 juillet 2011 Dernière intervention - Dernière réponse le 24 août 2011 à 17:30 par kary
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 
Utile
+14
moins plus
Salut,

man date
info date
$ date -d "09:00 PM" +%R
21:00
$ date -d "03:00 AM" +%l:%M
 3:00
;-))
Donnez votre avis
Utile
+4
moins plus
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

Donnez votre avis
Utile
+2
moins plus
Merci jipicy, c'est super.
Je me suis fais une machine virtuelle sous Ubuntu pour être compatible avec tes réponses ;-)
Donnez votre avis
Utile
+1
moins plus
J'ai bien une solution, mais elle est à base de "GNU sed" et je doute que ça marche sous Unix ;-((
Donnez votre avis
Utile
+1
moins plus
De rien ;-))
Donnez votre avis
Utile
+0
moins plus
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
;-))
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !