Entdecken Sie Perls File::Find-Modul

Wenn die Subroutine aufgerufen wird, befindet man sich tatsächlich in dem jeweils in der Variablen $File::Find::dir gespeicherten Verzeichnis. Wie man in Listing C sehen kann, wendet unsere Subroutine reguläre Ausdrücke auf die Variable $_ an, um mithilfe einer if-Anweisung nach all den Dateinamen zu suchen, wie wir sie vorhin festgelegt haben.

Wenn der Dateiname in $_ (dem standardmäßigen Mustererkennungsraum) auf einen der fünf regulären Ausdrücke in der if-Anweisung passt, wird der darunter stehende Code-Block ausgeführt. Die regulären Ausdrücke sind recht einfach. Das „.“ bezeichnet einen echten Punkt, d.h. er hat nicht die Spezialbedeutung wie sonst bei regulären Ausdrücken. Das Zeichen „“ dient dazu, dieser Spezialbedeutung zu „entkommen“ (escape). Das „$“ markiert einen Treffer am Ende der Zeichenfolge, ein „^“ passt auf den Zeilenanfang. Tabelle A ordnet die Dateien, die wir finden wollen, ihren jeweiligen regulären Ausdrücken zu.

Tabelle A
Datei mit der Endung .zip /.zip$/
Datei mit der Endung .tmp /.tmp$/
Datei mit der Endung .TMP /.TMP$/
Datei, die mit ~ anfängt /^~/
Datei mit der Endung .chk /.chk/

Beachten Sie, dass das Skript nach dem kleingeschriebenen tmp und dem großgeschriebenen TMP sucht. Aus Effizienzgründen könnte man die Dateinamen in Großbuchstaben umwandeln und nur nach TMP suchen.

Und schließlich nutzt das Skript die stat()-Funktion, um die Menge des belegten Plattenplatzes in Bytes von allen Dateien anzugeben, die einer der Bedingungen der if-Anweisung entsprechen. Wenn die Bedingung zutrifft, speichert das Skript den Wert in der Variablen $size und addiert ihn zu der Zählvariablen $ByteCount, wie der folgende Code-Ausschnitt zeigt:


$ByteCount += $size;

Um das Skript auf Ihrem Rechner laufen zu lassen, geben Sie den folgenden Befehl an der Eingabeaufforderung ein:


Perl diskrpt.pl

Dabei wird vorausgesetzt, dass Sie den Perl-Interpreter in Ihre PATH-Variable aufgenommen und das Skript unter dem Namen Diskrpt.pl gespeichert haben. Das Ergebnis wird an der Eingabeaufforderung im DOS-Fenster angezeigt.

In weiteren Artikeln werde ich Ihnen Modifikationen des Skripts vorstellen – wie man bspw. bestimmte Dateien löschen oder die gefundenen Dateien an andere Programme übergeben kann.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Google stopft schwerwiegende Sicherheitslöcher in Chrome 124

Zwei Use-after-free-Bugs stecken in Picture In Picture und der WebGPU-Implementierung Dawn. Betroffen sind Chrome für…

6 Tagen ago

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

6 Tagen ago

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

6 Tagen ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

7 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

1 Woche ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

1 Woche ago