![]() |
| S | Suchen mit Ersetzen |
| S [-] [n], ...= [len] item2 [, ...= [len] item2 ] .... [, opt] |
| S.... steht für ein einfaches Suchargument wie im Abschnitt "Suchen von Zeichenfolgen (einfaches Suchargument)" beschrieben. | |
| len | wahlweise Längenangabe. Beim Ersetzungsvorgang wird item2 solange wiederholt, bis die angegebene Länge len erreicht ist. Falls nicht angegeben: len = Länge des Ersetzungsstrings. | |
| item2 | Ersetzungsstring: C'...' | L'...' | X'...' | |
| Über das Kommando SET REPLACEMODE=F|L kann bestimmt werden, welcher Suchstring bei einer Verknüpfung S,'src1'*'src2'='str3' durch str3 ersetzt wird: Standardmäßig der erste (src1) oder der letzte (src2). | |
| Das Konstrukt: ...= [len] item2 kann beliebig oft wiederholt werden. Als Trennzeichen sind Kommas zu verwenden (Oder-Bedingungen). | ||
| Falls die Kommandozeile von CFS hierfür nicht ausreicht, kann durch S,()[,opt] eine eigene Suchmaske angefordert werden. Auch die Formate 3 und 4 des Suche-Kommandos können für das Suchen mit Ersetzen benützt werden: | ||
| S, %name [, opt] | S, ( s-dat ) [, opt]. | ||
| Die Optionen [,opt] können auch in der Suchmaske/in der Datei s-dat im Anschluß an das letzte Paar suchstring=ersatzstring angegeben werden. | ||
| opt | C | R | A | Q | |
| wahlweise Zusatzoptionen zur Steuerung des Ersetzungsvorgangs. | ||
| C | Die C-Option (Change) bewirkt einen echten Austausch von Suche- und Ersetzungsstring in den Datensätzen. Die Satzlängen werden in diesem Fall entsprechend angepaßt. Die Option C bewirkt eine Ersetzung analog der des EDT. | |
| Standardmäßig (ohne C-Option) erfolgt die Ersetzung in der Weise, daß der gefundene Suchstring durch den angegebenen Ersatzstring überschrieben wird. Die Länge des modifizierten Datensatzes ändert sich auch dann nicht, wenn Suchstring und Ersetzungsstring verschiedene Länge haben. | ||
| Die C-Option ist nur bei ISAM-Dateien bzw. bei in ISAM-Dateien umgesetzten SAM-Dateien anwendbar. RECFORM=V ist ebenfalls Voraussetzung für die C-Option. | |
| R | Reverse. Der Suche- und Ersetzungsvorgang innerhalb der Datensätze erfolgt in umgekehrter Reihenfolge von rechts nach links. In diesem Modus können keine mehrfachen Suche- und Ersetzungsstrings angegeben werden. | |
| In Kombination mit der R-Option kann nur die C-Option (siehe oben) angegeben werden: CR. | ||
| Standard: Die Ersetzung erfolgt von links nach rechts. | |
| A | Alle Treffer innerhalb eines Datensatzes werden ersetzt (analog der EDT-Anweisung: @ON...CA'...'T'...'). | |
| Standard: Die Ersetzung wird nur beim ersten Treffer in einem Datensatz durchgeführt. | |
| Falls weder die C-, noch die A-Option angegeben wurde, so wird der erste Treffer eines jeden Datensatzes durch den angegebenen Ersetzungsstring überschrieben. | |
| Q | Query: Vor jedem Ersetzungsvorgang wird der Benutzer um Bestätigung gebeten. Das Sichtfenster wird 20 Spalten links vom Trefferstring positioniert. Durch Betätigung der ENTER-Taste wird der Trefferstring durch den Ersatzstring ausgetauscht. Durch Betätigung der K3-Taste wird der Ersetzungsvorgang nicht ausgeführt. In beiden Fällen (ENTER/K3) wird nach Betätigung der Datenübertragungstaste auf den nächsten Treffer positioniert. Durch Überschreiben des im Kommandofeld vorgegebenen S-Kommandos mit Blank wird die Suche abgebrochen. | |
| Standard: kein Query-Modus. Die Trefferstrings werden ohne Benutzeranfrage durch die Ersatzstrings ausgetauscht. | ||
| Hinweise: | |
| Die C-, A-, und Q-Option können auch kombiniert werden: CA / CQ / AQ / CAQ. Die Reihenfolge der Kombination ist hierbei nicht frei wählbar. Zuerst muß die C-Option angegeben werden falls gewünscht, danach die A-Option und als letztes die Q-Option. CA entspricht dem Change All des EDT. CAQ ist eine Variante, die vor jeder Ersetzung eine Bestätigung durch den Benutzer verlangt. | |
| Bei Anwendung der Option CAQ (Change All Query) und bei unterschiedlicher Länge des Such- und Ersetzungsstrings kann der Fall eintreten, daß am Ende des aktuellen Treffersatzes einige Zeichen nicht dargestellt werden (Satz erscheint abgeschnitten). Dieser Effekt hat keinerlei Auswirkungen auf die tatsächlichen Daten. | |
| Falls beim Suchen mit Ersetzen die C-Option nicht angegeben wurde, so ist folgendes zu beachten: | |
| Ist der Ersatzstring (item2) länger als der Suchstring (item1), so werden Daten, die rechts von item1 stehen, durch item2 überschrieben. | |
| Ist der Ersatzstring (item2) kürzer als der Suchstring (item1), so wird der rechtsstehende Teil von item1 nicht verändert. | |
| ISAM: innerhalb des Schlüssels wird item1 nicht gesucht und es findet demzufolge auch keine Ersetzung statt. | |
| PAM: Suchen über Blockgrenzen | |
| Bei PAM-Dateien muß der zu suchende String nicht vollständig in einem Datenblock enthalten sein. Falls der Suchbegriff (z.B. 'DATABASE') am Ende eines PAM-Blocks beginnt und sich am Anfang des nächsten PAM-Blocks fortsetzt (z.B. 'DA' + 'TABASE'), so wird diese Konstellation von CFS ebenfalls als Treffer erkannt und durch den Ersatzstring ausgetauscht. | |
| Beispiele: | |
S,C'C''passw'''=C'C''passw-neu''',CAQ
| |
| Im ISAM-Modus wird nach der Zeichenfolge C'passw' gesucht. Bei jedem Treffer wird der Benutzer gefragt, ob der String durch C'passw-neu' ersetzt werden soll. ENTER-Taste: Ersetzung vornehmen und weitersuchen. K3-Taste: Keine Ersetzung und weitersuchen. Durch das Austauschen der Strings findet eine Verschiebung der rechtsstehenden Daten statt. | |
S,:9:''=60X'FF'
| |
| Vom ersten angezeigten Satz bis Dateiende werden die Daten ab Spalte 9 (Satzanfang = Spalte 1) in der Länge 60 auf X'FF' gesetzt (überschrieben). | |
S,:90:X'FF'+:1990:X'FA00'+:1545:''=5X'FF'
| |
| Vom ersten angezeigten Satz bis Dateiende werden alle Sätze gesucht, die sowohl in Spalte 90 X'FF' als auch in Spalte 1990 die Zeichenfolge X'FA00' enthalten. Bei allen, diese Bedingung erfüllenden Datensätzen werden die Spalten 1545 bis 1549 mit X'FF' überschrieben. | |
S,'ABCD'='',CA
| |
| Vom ersten angezeigten Satz bis Dateiende wird die Zeichenfolge ABCD im gesamten Spaltenbereich gesucht und aus dem Satz entfernt. Das Entfernen der Zeichenfolge kann in einem Satz an mehreren Stellen erfolgen (Option A). Die Verarbeitungsoption C hat zur Folge, daß die resultierenden Sätze in ihrer Länge verkürzt werden. | |
S,()
| |
| Aufgrund dieses Kommandos wird die Suche-Maske ausgegeben, in die der Benutzer folgende Such- und Ersetzungsanweisung einträgt: | |
} dd.mm.yy hh:mm:ss HOST: ........ TSN: .... {
| |
| Vom ersten angezeigten Satz bis Dateiende werden alle Kleinbuchstaben (siehe Parameter A am Ende) in die entsprechenden Großbuchstaben umgewandelt. Durch das Kommando SP %CAP wird die Suche- und Ersetzungsanweisung unter dem Namen %CAP in der Datei CFS.JRSAVE [.jobname] bzw. in einer mit /FILE datei, LINK=JRSAVE zugewiesenen Datei gespeichert. Die genaue Regel, nach der der Name der JRSAVE-Datei gebildet wird, ist auf Seite 27- ("von CFS angelegte Dateien/Jobvariablen") beschrieben. | |
S,%CAP
| |
| Die unter dem Namen %CAP gespeicherte Suche- bzw. Ersetzungsanweisung wird zur Ausführung gebracht. | |
S?,%CAP
| |
| Die unter dem Namen %CAP gespeicherte Suche- bzw. Ersetzungsanweisung wird am Bildschirm angezeigt (Maske siehe oben) und kann danach zur Ausführung gebracht werden. | |