Thread Dateinameliste und Größe? (5 answers)
Opened by Math55 at 2003-08-19 19:55

Math55
 2003-08-19 19:55
#69563 #69563
User since
2003-08-19
44 Artikel
BenutzerIn
[default_avatar]
hallo, sagen wir mal, ich habe eine datei mit dateinamen so wie diese hier:

3.6M /var/log
28k /var/log/XFree86.0.log
48k /var/log/auth.log
116k /var/log/auth.log.0
12k /var/log/auth.log.1.gz
12k /var/log/auth.log.2.gz
12k /var/log/auth.log.3.gz
80k /var/log/daemon.log
940k /var/log/ksymoops
16k /var/log/daemon.log.1.gz
20k /var/log/daemon.log.2.gz
16k /var/log/daemon.log.3.gz
80k /var/log/debug
216k /var/log/debug.0
1.5M /var/log(test.gz
12k /var/log/debug.1.gz
16k /var/log/debug.2.gz
12k /var/log/debug.3.gz
8.0k /var/log/dmesg
12k /var/log/faillog
304k /var/log/kdm.log
4.0k /var/log/kern.log
20k /var/log/kern.log.0
8.0k /var/log/kern.log.1.gz
8.0k /var/log/kern.log.2.gz
4.0k /var/log/kern.log.3.gz
940k /var/log/ksymoops
228k /var/log/ksymoops/20030816062503.ksyms
4.0k /var/log/ksymoops/20030816062503.modules
228k /var/log/ksymoops/20030817062502.ksyms
4.0k /var/log/ksymoops/20030817062502.modules
4.0k /var/log/ksymoops/20030818.log
228k /var/log/ksymoops/20030818062502.ksyms
4.0k /var/log/ksymoops/20030818062502.modules
4.0k /var/log/ksymoops/20030819.log
228k /var/log/ksymoops/20030819062502.ksyms
4.0k /var/log/ksymoops/20030819062502.modules
60k /var/log/lastlog
0 /var/log/lpr.log
4.0k /var/log/lpr.log.0
0 /var/log/mail.err


davon möchte ich von einigen dateien die größe haben, also zum beispiel:

größe von
60k /var/log/lastlog + 940k /var/log/ksymoops + 4.0k /var/log/lpr.log.0

und so weiter. die dateien, von denen ich die gesamtgröße brauche stehen in einem array. in diesem fall also 3 elemente im array. ich habe es mit -s versucht, ist zu langsam bei vielen dateien, dann hab ichs mit grep versucht, also so:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
my $grep=`grep '$selection[$i]' /tmp/DATEINAME`;
(my $zahl, my $pfad)=split('\t',$grep);

my $q=quotemeta($pfad);
if($grep =~m/$q/g){
#print "AUTO\n";
#print "$grep";
$zahl=~s/^(\d+)k/$1 000/gi;
$zahl=~s/^(\d+)\.(\d)+M/$1$2 000000/gi;
$zahl=~s/ //g;
#$zahl*=1000;
#print "zahl: $zahl\n";
$size += $zahl;
#print "size: $size\n";

}


ist auch zu lahm....wie könnte mann es denn noch machen? mit hashs? in $selection[$i] stehen die zu berechnenden dateien!

DANKE:-)

View full thread Dateinameliste und Größe?