A. Willemer Wie werde ich UNIX-Guru
| | I ANWENDUNG |
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.
|
II ADMINISTRATION |
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel
|
III NETZWERK |
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls
|
IV DAS X-WINDOW SYSTEM |
Die grafische Oberfläche von UNIX einrichten und nutzen
|
V PROGRAMMIERUNG VON SHELLSKRIPTEN |
Automatisieren von Tasks durch Shell-Skripte.
|
VI PERL |
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk
|
VII PROGRAMMIERWERKZEUGE |
C-Compiler, Analyse-Tools, CVS, yacc, diff
|
VIII UNIX-SYSTEMAUFRUFE |
UNIX-Befehle in eigenen Programmen nutzen
|
IX LITERATUR |
Weiterführende Literatur zu UNIX und LINUX
|
| |
Perl ist eine ideale Sprache, um Texte auszuwerten. Um das nutzen zu können,
muss man auf die Dateien, in denen die Texte stehen, zugreifen können.
Im ersten Schritt wird eine Datei eröffnet. Dazu dient die Funktion
open .
Der erste Parameter ist das Dateihandle (Handle engl. Handgriff).
Ein Handle ist eine Kennung für eine Ressource. Daran erkennt das
Betriebssystem, welche Datei gemeint ist.
Das Handle wird für alle weiteren Zugriffe auf
die Datei gebraucht. Der zweite Parameter ist der Name der Datei, die
geöffnet werden soll. Im folgenden Beispiel wird eine Datei geöffnet und gleich
wieder geschlossen.
open(HANDLE, $filename) || die "Datei nicht zugreifbar";
close(HANDLE);
Das Oderzeichen hinter dem Dateinamen bewirkt, dass bei einem Fehlschlag
der Funktion open() die dahinterliegende Befehlsfolge abgearbeitet wird.
Hier besteht sie aus der Funktion die() (engl. sterben), die das
Programm beendet und die
als Parameter übergebene Zeichenkette als letzten Gruss auf der Konsole
ausgibt.
Aus einer Datei liest man mit Hilfe des beim open() ermittelten HANDLE auf
die gleiche Weise, wie schon weiter oben von der Standardeingabe gelesen
wurde.
$zeile = <HANDLE>;
Die Ausgabe in eine Datei erfolgt analog über die Funktion print() .
Als erster Parameter wird ihr das Dateihandle mitgegeben.
print HANDLE $value;
Das folgende Skript ist eine Implementation des Kommandos cat in
Perl. Wie der Originalbefehl gibt das Skript cat.pl den Inhalt aller
ihm als Parameter übergebenen Dateien auf der Standardausgabe aus.
[Implementierung von cat in Perl]
#!/usr/bin/perl -w
use strict;
my $datei; # der jeweilige Dateiname
my $zeile; # die Zeile, die aus der Datei gelesen wird.
foreach $datei (@ARGV)
{
open(HANDLE, $datei) || die "Fehler beim Öffnen $datein";
while ($zeile = <HANDLE>)
{
print $zeile;
}
close HANDLE;
}
Die äußere foreach -Schleife durchläuft das Parameterarray @ARGV.
Jeder der Parameter wird mit open geöffnet. Dann durchläuft das
Programm die innere
Schleife, in der jede Zeile in den Skalar $zeile eingelesen wird und
dann per print auf die Standardausgabe gegeben wird. Die Schleife bricht ab,
wenn die Variable zeile nicht mehr zu füllen ist. Nach Ende der Schleife wird
die Datei geschlossen und die foreach -Schleife übernimmt den
nächsten Parameter.
| |
|
|
Ihre Meinung? |
|
|
|
|
| |
| |
Shopping |
|
Versandkostenfrei bestellen in Deutschland und Österreich Info
|
|
| |
| |
|