Schrift
[thread]12695[/thread]

Hilfe gesucht - Datei auslesen / download / bz2 entpacken

Leser: 3


<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten
jan99
 2008-10-29 15:52
#115820 #115820
User since
2008-09-18
439 Artikel
BenutzerIn
[default_avatar]
Moin!

ich bin einmal ganz frech und frage, ob mir einer von Euch ein kleines skript basteln kann.

habe schon perl wegen anderer skripte laufen und will nicht nochmehr installieren. leider habe ich auch noch nicht die passenden hinweise im netz gefunden und daher die frage - vom aufbau eigentlich nicht schwer....

aufgabenstellung

es gibt eine datei mit folgendem inhalt:

http://osm.ammit.de/osm/latest/img/63273983.img.bz...
http://osm.ammit.de/osm/latest/img/63273984.img.bz...
http://osm.ammit.de/osm/latest/img/63273985.img.bz...
...

diese datei soll ausgelesen werden - die angegeben dateien heruntergeladen werden und abschließend die bz2 noch entpackt werden.

das sollte doch mit einer schleife und .... funktionieren?

würde mich sehr freuen.

gruß Jan :-)
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de
pq
 2008-10-29 16:59
#115823 #115823
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
datei öffnen und zeile für zeile auslesen - http://p3rl.org/open, http://p3rl.org/perlopentut
jeweils dateinamen abschneiden, in diesem fall wohl mit split - http://p3rl.org/split
url runterladen - CPAN:LWP::Simple
bunzip auf der kommandozeile aufrufen - http://p3rl.org/system
oder mit CPAN:Archive::Tar entpacken
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Gast Gast
 2008-10-29 18:52
#115828 #115828
ungetestet:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl;
use strict;
use warnings;
use LWP::Simple;

my $pfad='/pfad/zum/ziel/';
my $liste='/pfad/zur/liste.txt'

my $unzip='/bin/bunzip2';

open(my $fh, '<', $iste) or die "Fehler bei open $liste\n";
while(my $url=<$fh>){
  chomp($url);
  my ($file)=$url=~m|/([^/]+?)$|;
  getstore($url, "$pfad$file") or warn "Fehler bei download $url nach $pfad$file\n";
  system("$unzip $pfad$file") ==0 or warn "Fehler bei $unzip $pfad$file\n";
}
close($fh);
pq
 2008-10-29 20:04
#115833 #115833
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Gast+2008-10-29 17:52:43--
ungetestet:
[...]

bei open or die "..." immer auch den grund mit angeben, der steht in der variable $!
was nützt mir die fehlermeldung, wenn ich nicht weiss, warum es fehlschlug?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
jan99
 2008-10-30 12:09
#115861 #115861
User since
2008-09-18
439 Artikel
BenutzerIn
[default_avatar]
Moin !

vielen dank für die hilfe.

werde ich mir mal genauer ansehen und testen. besonderen dank auch für die quellhinweise - so kann ich das für mich nachvollziehen.

gruß Jan :-)
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de
jan99
 2008-11-14 13:24
#116241 #116241
User since
2008-09-18
439 Artikel
BenutzerIn
[default_avatar]
Moin !

ich habe jetzt mehre Anläufe genommen und bekomme immer wieder nur Fehlermeldungen, die ich mir mit meiner Literatur auch nicht erklären kann.

Folgendes steht jetzt in der Datei:

#!/usr/bin/perl;


use strict;
use warnings;
use LWP::Simple;

my $pfad='C:/Perl/eg';
my $liste='C:/Perl/eg/meineliste.txt'

my $unzip='/bin/bunzip2';

open(my $fh, '<', $iste) or die "Fehler bei open $liste\n";
while(my $url=<$fh>){
chomp($url);
my ($file)=$url=~m|/([^/]+?)$|;
getstore($url, "$pfad$file") or warn "Fehler bei download $url nach $pfad$file\n";
system("$unzip $pfad$file") ==0 or warn "Fehler bei $unzip $pfad$file\n";
}
close($fh);[code]

... und ich bekomme folgende Fehlermeldung (Windows):

synax error at [Dateiname].pl line 11 near "my "
Global Symbol "$unzip" requires explicit package name at [Dateiname].pl
... gleiche Meldung für $liste, $unzip

Das Packet bunzip2 habe ich noch nicht installiert. Das Verzeichnis liegt mir zwar manuell vor - aber soll ich das vor den "Einbindebefehlen" einfach in das Perl-Verzeichnis kopieren ???

Über den Perl Package Manager wird mir bunzip nicht gelistet !!!

Kann mir einer weiterhelfen ????

Gruß Jan :-)
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de
Struppi
 2008-11-14 13:36
#116243 #116243
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Da fehlt ein Strichpunkt
renee
 2008-11-14 13:45
#116245 #116245
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Und bei open(my $fh, '<', $iste) fehlt noch das l von $liste... (Wurde zwar noch nicht angemeckert, wird strict dann aber tun wenn Du das Semikolon nach dem my $list = ... eingefügt hast...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2008-11-14 14:30
#116248 #116248
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
jan99+2008-11-14 12:24:41--
Folgendes steht jetzt in der Datei:

#!/usr/bin/perl;

hm, dein perl-binary hat ein semikolon am ende?
oder ist dir das von der zeile da unten, wo es fehlt, hochgehüpft? =)
vielleicht mal einen vernünftigen editor benutzen...
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
jan99
 2008-11-14 15:16
#116253 #116253
User since
2008-09-18
439 Artikel
BenutzerIn
[default_avatar]
Moin !

"Da fehlt ein Strichpunkt" - wo denn ????

gruß Jan :-)
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de
<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten



View all threads created 2008-10-29 15:52.