← Back to team overview

sslug-teknik team mailing list archive

Re: sh scripting - parsing af input ?

 

"Ole Kofoed Hansen" <ole@xxxxxxxxxxxxxxx> wrote in message
news:3F455885.9050406@xxxxxxxxxxxxxxx...

> >  Jeg er ved at forsøge at lave et script til en .qmail fil, som skal
lave
> > visse ting på indkomne beskeder... Scriptet bliver kaldt med /bin/sh
(ifølge
> > qmail-dokumentationen)
> >
> > Jeg er klar over, at når mit script/min kommando bliver kaldt, så ligger
> > besked i stdin... denne gemmer jeg først med:
> >
> > TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1
> > tee $TMPFILE >/dev/null 2>&1
> >
> > Ved ikke om det kan gøres på andre måder, men det her burde da virke...
> > Anyway, det primære problem kommer her:
> >
> > En indkommen mail køres gennem reformime -i - som giver f.eks. dette
output:

...

> Følgende ikke-testede perl-stump burde kunne hjælpe dig på vej. Det skal
>   have outputtet ligesom dit eksempel på STDIN og på STDOUT skriver den
> de relevante sektionsnumre - på hver sin linie.
>
> #!/usr/bin/perl -w
> $normalspace = $/;
> $afsnitspace = "";
>
> $/ = $afsnitspace;
> @sektioner = grep { /content-type: message\/rfc822/ } <STDIN>;
>
> $/ = $normalspace;
> foreach $sektion (@sektioner) {
>    if ($sektion =~ /^section: (.*)$/ ) { print "$1\n"; }
> }

Tak for dit input - jeg får ikke noget output fra koden. Indsætter jeg print
"$sektion"; i foreach løkken får jeg godt nok de 2 blokke ud, som er af
message/rfc822 typen  - men sektions-nummeret får jeg ikke....

/Brian




Follow ups

References