Toon posts:

[AWK] StrFTime met variable

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heren ik heb nu het volgende stukje code:
code:
1
2
3
4
5
BEGIN{{print "Hieronder een lijst met alle uitgestelde emails:"}
{print "---------------------------------------------"}}
{if ($1 ~ /d/ && $2 ~ /z/) {nr =nr+1 ; print $2 " ",$5}}
END {{print "---------------------------------------------"}
{print "Er zijn:",nr " uitgestelde emails"}}


Het resultaat van deze code is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
bash-2.05$ awk -f uitgesteld seip1.log
Hieronder een lijst met alle uitgestelde emails:
---------------------------------------------
z  1004143172.908256500
z  1004143574.108771500
z  1004144714.32117500
z  1004145855.910947500
z  1004146256.552701500
z  1004146713.781418500
z  1004146971.322859500
z  1004147372.910703500
z  1004147456.952771500
z  1004148572.303385500
z  1004183639.451783500
z  1004205671.509799500
z  1004205671.509850500
z  1004205731.329531500
---------------------------------------------
Er zijn: 14 uitgestelde emails


Nou wil ik die timestamps dus omzetten naar een datum. Ik probeerde het met strftime. Maar het nadeel is dat ik niet kan zeggen strftime $5. Hopelijk hebben jullie een idee voor dit probleem.

Gegroet en tabee

  • gilgames
  • Registratie: April 2004
  • Laatst online: 06-11-2023
met gawk lukt het in ieder geval wel
Awk:
1
2
3
4
5
echo 1004143172.908256500 |
awk '
  {
    printf "%s\n%s\n", strftime("%c",systime()), strftime("%c", $1);
  }'


GAWK is beschikbaar op (bijna)alle Linuxen als awk maar op commerciele Unixen lang niet altijd. :'( Soms heb je het gawk commando nodig en misschien kun je ook nog nawk gebruiken. En als je er dan nog niet uitkomt is Perl natuurlijk ook nog een schitterend alternatief. 8)

[ Voor 52% gewijzigd door gilgames op 27-04-2005 14:39 . Reden: verschillende versies awk ]


Verwijderd

Topicstarter
gilgameshn schreef op woensdag 27 april 2005 @ 13:46:
met gawk lukt het in ieder geval wel
Awk:
1
2
3
4
5
echo 1004143172.908256500 |
awk '
  {
    printf "%s\n%s\n", strftime("%c",systime()), strftime("%c", $1);
  }'
Eeyz bij mij kent het systeem het command systime niet. Beetje vaag :? . Heeft iemand misschien nog andere ideeen. gilgameshn alvast bedankt _/-\o_