Récupérer l'heure dans une variable AWK...

Fermé
blux Messages postés 26310 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 septembre 2024 - 9 déc. 2005 à 15:07
blux Messages postés 26310 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 septembre 2024 - 12 déc. 2005 à 13:03
Bonjour,

quelqu'un sait-il comment récupérer l'heure courante, et plus généralement n'importe quel résultat d'une commande externe à l'intérieur d'un script AWK pour l'affecter à une variable ?

Dans l'affirmative, merci de m'éclairer.
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
9 déc. 2005 à 22:07
Salut,
[jp@Mandrake tmpfs]$ echo "Il est très exactement " | awk -v valeur="$(date '+%H:%M:%S')" ' { print $0 valeur } '
Il est très exactement 22:04:33
[jp@Mandrake tmpfs]$
;-))
1
blux Messages postés 26310 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 septembre 2024 3 300
12 déc. 2005 à 13:03
Oui, j'aurais préféré ne pas l'avoir à l'invocation mais en cours de procédure...

Finalement, je vais changer mon fusil d'épaule :

a2p...
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
9 déc. 2005 à 15:54
Lire man awk
Rechercher "Time Functions" "systime"
exemple:

johand@horus:~$ awk '{ print strftime("%Y/%m/%d-%H:%M:%S",systime()) } '
1
2005/12/09-15:50:27
2
2005/12/09-15:50:28
3
2005/12/09-15:50:30

Concernant les commandes externes, je n'ai pas aprofondi, mais il existe une sommande system,( on peut récupérer le code d'erreur de la commande).
Je n'ai pas vu trace de popen. Mais ceci varie peut-être avec les version de awk...

Johan
0
blux Messages postés 26310 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 septembre 2024 3 300
9 déc. 2005 à 16:26
Merci de ta réponse, mais mon awk à moi (AIX 5.2, je ne l'avais pas précisé) ne connait ni systime, ni strftime...

Et pour la commande system, on ne récupère effectivement que le code retour (tu penses bien que je l'avais testé)...

Je pensais plutôt à un truc avec une indirection, genre toto=`system(date)` ou toto=$(system(date))
comme en shell... mais a marche pô :-(
0