Converti una data di epoca in un formato leggibile dall'uomo?

3
echo "$some_string" | awk -F '|' '{print $1 $2}'

$2 è una data di epoca e voglio convertirlo in un formato leggibile dall'uomo. Ho provato a fare date -r $2 ma senza fortuna.

    
posta user9980782 23.06.2018 - 03:54
fonte

2 risposte

3

Se riesci a ottenere GNU awk sul tuo Mac (tramite homebrew), puoi fare:

gawk '{print $1, strftime("%Y-%m-%d %H:%M:%S", $2)}'

migliora la tua formattazione datetime per adattarla.

Altrimenti, puoi chiamare la data dall'interno di awk:

awk '{
    cmd = "date -d \"@" $2 "\" \"+%Y-%m-%d %H:%M:%S\""
    cmd | getline datetime
    close(cmd)
    print $1, datetime
}'

Non ho accesso a un mac, quindi dovrai modificare gli argomenti della data di conseguenza.

    
risposta data 23.06.2018 - 05:09
fonte
2
echo "$some_text" | awk -F'|' '{
    cmd = "date -r "$2" \"+%Y-%m-%d %H:%M:%S\""
    cmd | getline datetime
    close(cmd)
    print "text: "$1 "\ndate: "datetime"\n"
}'
    
risposta data 25.06.2018 - 03:20
fonte

Leggi altre domande sui tag