J'ai un fichier journal avec des horodatages au format "22.09.2016 08:22:54" ("+%Y:%m:%d %H:%M:%S"). Cet horodatage est dans le fuseau horaire UTC.
Maintenant, je dois convertir cet horodatage en horodatage Europe/Helsinki en utilisant bash script.
J'ai ce script qui fait la conversion comme je le veux.
#!/bin/bash
sec=$(TZ="UTC" date +'%s' -d "2015-05-20 18:05:02")
TZ="Europe/Helsinki" date -d "@$sec" "+%Y:%m:%d %H:%M:%S"
Cela fonctionne bien mais le format de la date "entrée" ( -d "2015-05-20 18:05:02" ) est différent du format de l'horodatage de mon journal.
Je voudrais changer ce script en quelque chose comme ceci
#!/bin/bash
sec=$(TZ="UTC" date +'%s' -d "$1")
TZ="Europe/Helsinki" date -d "@$sec" "+%Y:%m:%d %H:%M:%S"
Où le $1 peut être dans le format de date original de mon fichier journal "22.09.2016 08:22:54" ("+%Y:%m:%d %H:%M:%S").
Je n'arrive pas à le faire fonctionner Quelqu'un peut-il m'aider sur ce point ? Merci.
EDIT :
J'ai essayé quelque chose comme ça et beaucoup d'autres combinaisons
#!/bin/sh
sec=$(TZ="UTC" date +'%s' "+%Y:%m:%d %H:%M:%S" -d "$1")
TZ="Europe/Helsinki" date -d "@$sec" "+%Y:%m:%d %H:%M:%S"
mais le sien finit par l'erreur..
date: extra operand ‘+%Y:%m:%d %H:%M:%S’
Try 'date --help' for more information.
date: invalid date ‘@’