← retour aux snippets

awk: temps avec systime() et strftime()

Générer des timestamps, formater des dates et mesurer des durées en pur awk.

bash text #awk#time#strftime

objectif

Horodater des sorties et comparer des temps dans des one-liners awk.

code minimal

awk 'BEGIN{now=systime(); print strftime("%Y-%m-%d %H:%M:%S", now)}'

utilisation

# calculer l'age d'un timestamp (epoch) en minutes
echo 1692192000 | awk '{print int((systime()-$1)/60) " min"}'

variante(s) utile(s)

# ajouter un champ date formatée à un CSV (colonne 3 = epoch)
awk -F, -v OFS=, '{ $4=strftime("%F %T",$3); print }' data.csv

notes

  • gawk fournit ces fonctions.
  • le fuseau utilise TZ courant.