sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #100422
Re: Storke langsomt bash script
On 31/05/2010, at 11.28, Martin Dupont Ahrentsen wrote:
> Hej i kloge folk bag keyboardet,
>
> Jeg har et script som skal parse en en fil hvor den skal tjekke om nogle numre på nogle felter ligger indenfor nogle globale serier.
>
> Filen t_pcl_ser indeholder ca 181.000 linier hvilket gør at det tager sindsygt lang tid at parse den.
>
> formatet er som følgendde:
<snip>
Hej Martin,
Min erfaring er at til den type opgaver er awk een af de hurtigeste løsninger,
så her er et lille awkscript som burde gøre det samme som dit bash script gem det som <navn>.awk
kald det med awk -f <navn>.awk <inputfil> > <outputfil>
Lad mig høre om det er blevet hurtigere end dit gamle.
BEGIN {
FS="|";
IFS="|";
OFS="|";
startno1=92080000001;
endno1=92081327500;
startno2=92085000001;
endno2=92085135000;
startno3=92085135000;
endno3=92085973000;
}
($2>=startno1 && $3<=endno1) ||
($2>=startno2 && $3<=endno2) ||
($2>=startno3 && $3<=endno3) {
$6="Y";
$7="Y";
}
{print $0}
Mvh.
Kristian Duus Østergaard
Follow ups
References