AWK - Funzioni del tempo
AWK ha le seguenti funzioni temporali integrate:
systime
Questa funzione restituisce l'ora corrente del giorno come numero di secondi trascorsi dall'Epoch (1970-01-01 00:00:00 UTC sui sistemi POSIX).
Esempio
[jerry]$ awk 'BEGIN {
print "Number of seconds since the Epoch = " systime()
}'
Eseguendo questo codice, ottieni il seguente risultato:
Produzione
Number of seconds since the Epoch = 1418574432
mktime (datepec)
Questa funzione converte datespecstring in un timestamp della stessa forma restituita da systime (). Datepec è una stringa del moduloYYYY MM DD HH MM SS.
Esempio
[jerry]$ awk 'BEGIN {
print "Number of seconds since the Epoch = " mktime("2014 12 14 30 20 10")
}'
Eseguendo questo codice, ottieni il seguente risultato:
Produzione
Number of seconds since the Epoch = 1418604610
strftime ([format [, timestamp [, utc-flag]]])
Questa funzione formatta i timestamp in base alla specifica in format.
Esempio
[jerry]$ awk 'BEGIN {
print strftime("Time = %m/%d/%Y %H:%M:%S", systime())
}'
Eseguendo questo codice, ottieni il seguente risultato:
Produzione
Time = 12/14/2014 22:08:42
I seguenti formati di ora sono supportati da AWK:
S.No. | Specifica e descrizione del formato della data |
---|---|
1 |
%a Il nome del giorno della settimana abbreviato della locale. |
2 |
%A Il nome completo del giorno della settimana. |
3 |
%b Il nome del mese abbreviato della locale. |
4 |
%B Il nome completo del mese della locale. |
5 |
%c La rappresentazione della data e dell'ora appropriata della locale. (Questo è% A% B% d% T% Y nella lingua C). |
6 |
%C La parte centenaria dell'anno in corso. Questo è l'anno diviso per 100 e troncato al numero intero inferiore successivo. |
7 |
%d Il giorno del mese come numero decimale (01–31). |
8 |
%D Equivale a specificare% m /% d /% y. |
9 |
%e Il giorno del mese, riempito con uno spazio se è solo una cifra. |
10 |
%F Equivale a specificare% Y-% m-% d. Questo è il formato della data ISO 8601. |
11 |
%g L'anno modulo 100 del numero della settimana ISO 8601, come numero decimale (00–99). Ad esempio, il 1 ° gennaio 1993 è nella settimana 53 del 1992. Pertanto, l'anno del suo numero di settimana ISO 8601 è il 1992, anche se il suo anno è 1993. Allo stesso modo, il 31 dicembre 1973 è nella settimana 1 del 1974. Pertanto, il l'anno della sua settimana ISO è il 1974, anche se l'anno è il 1973. |
12 |
%G L'anno completo del numero della settimana ISO, come numero decimale. |
13 |
%h Equivalente a% b. |
14 |
%H L'ora (formato a 24 ore) come numero decimale (00–23). |
15 |
%I L'ora (orologio a 12 ore) come numero decimale (01–12). |
16 |
%j Il giorno dell'anno come numero decimale (001–366). |
17 |
%m Il mese come numero decimale (01–12). |
18 |
%M I minuti come numero decimale (00–59). |
19 |
%n Un carattere di nuova riga (ASCII LF). |
20 |
%p L'equivalente della locale delle designazioni AM / PM associate a un orologio a 12 ore. |
21 |
%r Le 12 ore dell'orologio locale. (Questo è% I:% M:% S% p nella lingua C). |
22 |
%R Equivalente a specificare% H:% M. |
23 |
%S Il secondo come numero decimale (00-60). |
24 |
%t Un carattere TAB. |
25 |
%T Equivalente a specificare% H:% M:% S. |
26 |
%u Il giorno della settimana come numero decimale (1–7). Il lunedì è il primo giorno. |
27 |
%U Il numero della settimana dell'anno (la prima domenica come primo giorno della prima settimana) come numero decimale (00–53). |
28 |
%V Il numero della settimana dell'anno (il primo lunedì come primo giorno della prima settimana) come numero decimale (01–53). |
29 |
%w Il giorno della settimana come numero decimale (0–6). La domenica è il giorno zero. |
30 |
%W Il numero della settimana dell'anno (il primo lunedì come primo giorno della prima settimana) come numero decimale (00–53). |
31 |
%x La rappresentazione della data appropriata della locale. (Questo è% A% B% d% Y nella lingua C). |
32 |
%X La rappresentazione dell'ora appropriata della località. (Questo è% T nella lingua C). |
33 |
%y L'anno modulo 100 come numero decimale (00–99). |
34 |
%Y L'intero anno come numero decimale (ad es. 2011). |
35 |
%z L'offset del fuso orario in un formato + HHMM (ad esempio, il formato necessario per produrre le intestazioni della data RFC 822 / RFC 1036). |
36 |
%Z Il nome o l'abbreviazione del fuso orario; nessun carattere se nessun fuso orario è determinabile. |