[linux] awk helemaal gek geworden?

hans paijmans j.j.paijmans op gmail.com
Di Jan 5 15:39:03 CET 2016



Ik dacht dat ik na dertig jaar alle rare streken van awk wel had gezien. 
Niet dus.

Het volgende scriptje leest van een usb port,  bewerkt de regels en 
schrijft ze weer weg.
De regel die begint met 'for (a=0;a<=aantal;...' doet dat wegschrijven. 
Zoals het scriptje
hier staat, met " >> filenaam" weggecommentarieerd, zet de data in de 
goede volgorde op het scherm. Als ik " >> filenaam" toevoeg, worden de 
regels IN OMGEKEERDE VOLGORDE naar filenaam geschreven.

Veel krabben op het hoofd is het gevolg.


awk '{
if (substr($0,1,5)=="# Dat")
    {
    ident=substr($0,18);
    filenaam="log_"ident
    command="rm "filenaam
    system(command);
    }
if (substr($0,1,5)!="# err") regel[aantal++]=$0;
else
    {
    for (a=0;a<=aantal;a++) print regel[a]; # >> filenaam
    print "logdata geschreven naar "filenaam
    exit;
    }

}' < $port

paai




More information about the Linux mailing list