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

blux Messages postés 2001 Date d'inscription   Statut Modérateur Dernière intervention   -  
blux Messages postés 2001 Date d'inscription   Statut Modérateur Dernière intervention   -
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+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

2 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
 
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 2001 Date d'inscription   Statut Modérateur Dernière intervention   3 449
 
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 3678 Statut Modérateur 936
 
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 2001 Date d'inscription   Statut Modérateur Dernière intervention   3 449
 
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