[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: shellcript



On Tue, 17 Feb 2004 18:48:40 +0100
Stefan Blechschmidt <stefan.blechschmidt@sbsbavaria.de> wrote:

> Toni schrieb:
> > Hallo,
> > 
> >  ich versuche gerade ein kleines shellscript zu basteln welches eine
> >  csv Datei ausliest und Ordner bzw. Dateien erstellt. Nur hab ich
> >  keine Ahnung wie ich das machen soll, kenn mich nur in php aus dort
> >  könnt ichs aber das ist doch etwas umständlich. Gibt es die
> >  möglichkeit ein csv Reihenweise abzuarbeiten?
> > Also die csv ist so aufgebaut: 
> > 
> > Ordner;Datei;Inhalt
> > 
> > In php würd ichs so machen (oder so ähnlich habs nicht getestet)
> > 
> > $datei = fopen($csv, "r");
> > foreach($datei as $zeile) {
> >    $daten = explode(";", $zeile);
> >    mkdir($daten[0]);
> >    $datei_neu = fopen($pfad/$daten[0]/$daten[1], "w+");
> >    fwrite($datei_neu , $daten[2], 512);
> >    fclose($datei_neu);
> > }
> > fclose($datei);
> 
> dann ist der Weg zu perl nicht weit :-)
> 
> ,---[ csvtostuct.pl ] ---------------------
> |  #!/usr/bin/perl
> |  open (FH, "<$ARGV[0]");
> |  while (<FH>) {
> |     chomp;
> |     @inhalt = split (';', $_);
> |     system("mkdir $inhalt[0]");
> |     system("echo \"$inhalt[2]\" > $inhalt[0]/$inhalt[1]");
> |  }
> |  close(FH);
> `-----------------------------------

fuktionniert prinzipiell, aber wenn ich mich richtig erinnere werden bei
deinen 2 system()-Aufrufe jeweils shell-child-Prozesse gestartet. kostet
Zeit.
bei ein Paar Zeilen kein Problem, bei viele viele Aufrufe tötlich
langsam !
bei dem Shell-Skript hast Du eben das Problem nicht.

Wie gesagt, frei aus dem Gedächtnis raus

Joel



Reply to: