Schrift
[thread]6053[/thread]

Script auf Rechner suchen?



<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Math55
 2004-02-02 16:54
#79721 #79721
User since
2003-08-19
44 Artikel
BenutzerIn
[default_avatar]
hallo, ich suche einen schnellen weg, ein skript auf einem rechner zu suchen. es ist so, ein user klickt ein einem tk programm einen button, dann soll daraufhin ein script aufgerufen werden. zuerst soll im home gesucht werdem, also ~/.actionscript und wenns da nicht liegt, soll der rest durchsucht werden.

ne idee?

DANKE:-)
[E|B]
 2004-02-02 17:00
#79722 #79722
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
File::Find dürfte da das richtige sein.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Math55
 2004-02-02 17:06
#79723 #79723
User since
2003-08-19
44 Artikel
BenutzerIn
[default_avatar]
mhhhh, haste mal ein stück code?

DANKE!!
[E|B]
 2004-02-02 17:15
#79724 #79724
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Klar!

Code: (dl )
1
2
3
4
5
6
7
use strict;
use warnings;
use File::Find;

my @file = ();
find(sub { push(@file, $File::Find::dir); }, "dir");
print "$_\n" for(@file);


File::Find durchsucht das Verzeichnis "dir" samt Unterverzeichnissen und steckt jedes File in den Array "@file". Mit einer Schleife kannst du nun prüfen, ob das betreffende File verfügbar ist. Natürlich könntest du die Überprüfung schon in der Subroutine vornehmen, anstatt alle Dateien zuerst in einen Array zu packen.\n\n

<!--EDIT|[E|B]|1075734996-->
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Math55
 2004-02-02 17:22
#79725 #79725
User since
2003-08-19
44 Artikel
BenutzerIn
[default_avatar]
mhhh, dauert das nicht lange, wenn ich ab / suche?

danke
[E|B]
 2004-02-02 17:42
#79726 #79726
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Klar, je nachdem wie viel Verzeichnisse das sind dauert es dementsprechend. Aber eine bessere Lösung fällt mir mit Perl nicht ein. Du könntest die Shell Suche unter Linux verwenden. Die funktioniert AFAIK eh schneller...
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Crian
 2004-02-02 17:52
#79727 #79727
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Vielleicht erst die Verzeichnisse im Pfad durchsuchen? Oder die Userverzeichnisse? Wenn es lange dauert musst Du den User halt informieren... etwa anzeigen, wieviele Verzeichnisse Du schon durchsucht hast o.ä.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Strat
 2004-02-02 18:04
#79728 #79728
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
hilft vielleicht der befehl locate (muss bei neueren suse's separat installiert werden)....
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
ptk
 2004-02-02 18:54
#79729 #79729
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ich schrieb in forum.perl.de:
Quote
Code: (dl )
1
2
local $ENV{PATH} = "$ENV{HOME}:$ENV{HOME}/.actionscript:$ENV{PATH}";
system(...)
und math55 fragte:
Quote
kannst du mir das kurz erlaeren?


Die Erklaerung: ich habe nach deiner Spezifikation einfach das Homedirectory und ~/.actionscript zum Standardsuchpfad hinzugefuegt. Wenn dein Skript korrekt abgelegt wurde (chmod ugo+rx etc.), dann muessten system & co es finden.
Crian
 2004-02-03 11:13
#79730 #79730
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[E|B
,02.02.2004, 16:15]
Code: (dl )
1
2
3
4
5
6
7
use strict;
use warnings;
use File::Find;

my @file = ();
find(sub { push(@file, $File::Find::dir); }, "dir");
print "$_\n" for(@file);


File::Find durchsucht das Verzeichnis "dir" samt Unterverzeichnissen und steckt jedes File in den Array "@file". Mit einer Schleife kannst du nun prüfen, ob das betreffende File verfügbar ist. Natürlich könntest du die Überprüfung schon in der Subroutine vornehmen, anstatt alle Dateien zuerst in einen Array zu packen.

Ich nehme mal stark an, Du möchtest $File::Find::name statt $File::Find::dir pushen...
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2004-02-02 16:54.