Vorheriges Thema: AblaufsteuerungNächstes Thema: Beenden der Skriptbearbeitung


Bearbeiten einer Datei

Die Änderung von Konfigurationsdateien verweist in der Regel auf bestimmte Positionen in der Datei. Der zu ändernde Bereich kann direkt mit dem Änderungsbefehl oder indirekt mit dem setpos-Befehl angegeben werden. Änderungsbefehle mit lokaler Positionierung haben keine Auswirkungen auf die Positionierung durch einen setpos-Befehl.

Die Positionierung funktioniert ähnlich wie bei der Auswahl von Text in Microsoft Word, d. h., es kann ein bestimmter Bereich mit einem Anfangs- und einem Endpunkt ausgewählt werden. In zeilenbasierten Dateien kann nicht mehr als eine gesamte Zeile ausgewählt werden.

Wenn Anfangs- und Endpunkt der Auswahl identisch sind, wird statt eines Bereichs nur eine Position ausgewählt. In diesem Szenario haben die Funktionen zum Einfügen, Anhängen und Ändern denselben Effekt. Die Funktion zum Löschen hat immer noch keinen Effekt.

Ein Beispiel für die Auswahl eines Bereichs wird in der Beschreibung des setpos-Befehls weiter unten gegeben.

Hinweis: Die Groß-/Kleinschreibung gilt nicht für ASCII-Zeichen im Bereich 0x40 bis 0x7f ("A" bis "z"). Bei länderspezifischen ASCII-Zeichen in der Tabelle auf der rechten Seite zwischen 0x80 und 0xff (z. B. Umlaute) wird aller Wahrscheinlichkeit nach die Groß-/Kleinschreibung berücksichtigt.

Sie können die Platzhalter * und ? für die Positionierung verwenden. Sie werden genauso wie in der UNIX-Shell gelesen.

Die zur Dateibearbeitung verwendeten Befehle und deren Syntax lauten wie folgt:

setpos Position

Wählt einen Dateibereich zur Bearbeitung aus. Nachfolgende Bearbeitungsbefehle können den ausgewählten Bereich ändern, wenn sie nicht die lokale Positionierung umfassen. Der Parameter Position wird als Suchzeichenfolge interpretiert, anhand derer der auszuwählende Dateibereich berechnet wird.

In der folgenden Tabelle werden die möglichen Positionsparameter aufgeführt:

Positionsparameter

Markierter Bereich

Block

Ein Zeilenblock

noblock

Alle Zeilen einer Datei

Zeile

Eine einzelne Zeile

text

Ein Teil einer Zeile

nächste Zeile

Die nächste Zeile

nächster Text

Der nächste Teil einer Zeile

Ein Block hat eine Anfangs- und eine Endzeile. Wenn der Block bearbeitet wird, heißt das, Text wird mit einem Befehl zum Anhängen vor dem Ende der Zeile und mit einem Befehl zum Einfügen nach dem Beginn einer Zeile eingefügt. Bei einem Löschbefehl werden alle Zeilen des Blocks außer der Anfangs- und der Endzeile gelöscht.

Wenn ein Block oder eine Zeile ausgewählt wird, fügen die Befehle "Einfügen" und "Anhängen" neue Zeilen in die Datei ein. Wenn andererseits nur ein Teil eines Bereichs ausgewählt ist, wird der Text in die Zeile eingefügt, auch wenn die Markierung die gesamte Zeile abdeckt (Text "*").

Wenn der gesamte Dateiinhalt mit dem Parameter "noblock" ausgewählt und dann der Befehl zum Einfügen eingegeben wird, wird der Text am Dateianfang eingefügt. Wenn dann ein Befehl "Anhängen" erfolgt, wird Text am Ende der Datei angehängt.

Beispiel für die Auswahl eines Bereichs:

setpos block "rem Start printerconfiguration" "rem end printer*"
...
insert [Position] Wert

Der neue Wert wird vor der gegenwärtig ausgewählten Position eingefügt. Wenn keine Position ausdrücklich angegeben ist, wird der neu eingefügte Bereich nach dem Befehl ausgewählt.

Beispiel: "Neuer Text" einfügen

append [Position] Wert

Der neue Wert kann nach der derzeit ausgewählten Position eingefügt werden. Wenn keine Position ausdrücklich angegeben ist, wird der neu eingefügte Bereich nach dem Befehl ausgewählt.

Beispiel: append "anzuhängender Text"

Hinweis: Das Einfügen einer leeren Zeile hat folgenden Effekt:

" " anhängen
modify [Position] Wert

Der ausgewählte Bereich wird durch den neuen Wert ersetzt. Wenn der durch den Positionsparameter angegebene Bereich nicht vorhanden ist, wird kein neuer Wert eingefügt. Wenn keine Position ausdrücklich angegeben ist, wird der neu eingefügte Bereich nach dem Befehl ausgewählt. Der Befehl "Ändern" kann nicht auf vollständig ausgewählte Blöcken in Textdateien angewendet werden.

löschen Sie [Position]

Der ausgewählte Bereich wird aus der Datei entfernt. Die nächste Zeile wird nach dem Befehl ausgewählt.

replace [Position] Wert

Jedes Vorkommen des mit dem Parameter Position ausgewählten Bereichs wird durch den neuen Wert ersetzt.

Hinweis: Der Befehl "replace" ist für künftige Verbesserungen vorgesehen. In der gegenwärtigen Implementierung wird der replace-Befehl mit einer Fehlermeldung abgelehnt.