sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #101896
Re: script der læser en line ad gangen fra fil
On 01/10/2011, at 16.59, Eskild Nielsen wrote:
> Jeg forsøger I bash at lave noget i retning af
>
> while !EOF do
> læs line fra fil
> copier linie til outputfil (eller std out)
> proces linie og send resultat til outputfil (eller std out)
> done
>
> linierne indeholder 'grimme ting' som blanktegn, ; : ' og "
>
> jeg har forsøgt mig med
> for a in `cat testfil|tr '\n' '\000' |xargs -0 -n1`do; echo $a ; done
> hvor jeg så skulle erstatte echo $a med noget mere spændende - men det virker ikke - den fanger alle de slemme ting i filen,
Hvis du indsætter følgende før din for linie så virker den
OLDIFS=$IFS
IFS="
"
# så bliver linie skift det eneste adskillertegn.
for a in ...
I øvrigt, hvis du bruger $( kommando ) i stedet for ` kommando `så kan du have flere niveauer af nestede kommandoer, altså
$( kommandoniveau1 $(kommandoniveau2 ) )
hvorimod at det ikke virker med flere ` niveauer
References