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
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
;-))
Ajouter un commentaire
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

Ajouter un commentaire
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 ;-)
Ajouter un commentaire
Utile
+1
moins plus
J'ai bien une solution, mais elle est à base de "GNU sed" et je doute que ça marche sous Unix ;-((
Ajouter un commentaire
Utile
+1
moins plus
De rien ;-))
Ajouter un commentaire
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
;-))
Ajouter un commentaire

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 !