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

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

2 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

2 Tagen ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

3 Tagen ago

Gefährliche Anzeigen für Passwortmanager Bitwarden verbreiten Malware

Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…

3 Tagen ago

Public Cloud: Gartner erwartet 2025 weltweite Ausgaben von 723 Milliarden Dollar

Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.

3 Tagen ago

iPhone 15 ist bestverkauftes Smartphone im dritten Quartal

Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…

4 Tagen ago