Zurück zum Inhaltsverzeichnis - Lösungen und Tipps
- [ re.to | re.to ]
Textteile/Kurzformen lassen sich bequem mit #KOPIERE
und dem Parameter XX
austauschen:
#KOPIERE,q,z,,+,* xx ||bbaa|| xx |aa|cc|yy|zz| * Kommentar: Beginn 2. Durchgang xx 2 |zz|yy| *eof
er wird z.B. jede Zeichenfolge „aa“ zu „cc“ ausgetauscht, außer wenn vor „aa“ noch „bb“ steht. Auch wird jede Zeichenfolge „yy“ gegen „zz“ getauscht (hier greift die in der ersten Zeile definierte Ausnahme nicht). Auch distinkte Austausch-Vorgänge sind möglich: Im zweiten Durchgang wird „zz“ wieder zu „yy“ zurückgetauscht. Weitere Annehmlichkeiten sind das Pattern-Matching (cf. #KOPIERE
, Tustep Pattern Matching).
Sehr lange XX
-Tabellen
Das Austauschen von sehr langen XX
-Listen ( ~ ab ca. 1000 Austauschpaaren) braucht aber viel zu lang (weil man eben all die Features, wie Pattern Matching und Ausnahmen nutzen kann). Das Kommando #EINFUEGE
erledigt den Job (ohne die genannten Features von #KOPIERE-XX
) ungleich schneller.
Das Kommando und seine Spezifikationen lautet:
#EINFUEGE,quelle,ziel,modus,loeschen,parameter,kuerzel
Beispiel: Tierkürzel auflösen
Testdateien:
demo_einf_q [2 KB]
demo_einf_k.tf [2 KB]
demo_einf.p [2 KB]
Ausgangsdaten:
aa bb cc
Jeden der (durch Leerzeichen getrennten) Einträge in unserer Quelldatei (demo_einf_q) können wir nun expandieren zu einem Tier. Die Zuordnung zu einem Tier legen wir in unserer Kürzel-Datei fest:
<a>aa</a>artikulierterAffe <a>bb</a>banalerBär <a>cc</a>copyCat
Nun müssen wir nur noch unsere Quelldatei so verändern, dass deren Kürzel-Einträge mit denen in unserer Kürzel-Datei übereinstimmen:
#- 1. Teil: demo_einf.p #da,de_t1'de_t2,fr=- #ko,demo_einf_q,de_t1,,+,* * >tz = character group * ein TierZeichen: a, b oder c >tz abc * genau 2 TierZeichen hintereinander bilden * ein Kürzel, das wir noch mit <a>...</a> * klammern wollen xx |{2}{C:tz}|<a>{+1=}</a>| **************************** * de_t1: <a>aa</a> <a>bb</a> <a>cc</a> *eof
… und können sodann #EINFUEGE
benutzen
#- 2. Teil: demo_einf.p #ein,de_t1,de_t2,,+,*,kuerzel=demo_einf_k.tf * Anfang Kürzel in QuellDatei akd |<a>| * Ende Kürzel in QuellDatei ekd |</a>| * und ebenso für die Kürzel-Datei akk |<a>| ekk |</a>| *eof
Die Zieldatei de_t2 enthält dann unsere Tiere:
artikulierterAffe banalerBär copyCat
Und ein Blick ins Ablaufprotokoll gibt uns auch ein paar Statistiken:
#ein,de_t1,de_t2,,+,*,kuerzel=demo_einf_k.tf Start EINFUEGE auf: thinkp am: 01.07.15 um: 12:07:59 **** 3 Kürzel aufgelöst [...]
NB: Mit den Parametern UNG
und UND
kann man anzeigen lassen, welche Kürzel aus der Kürzel-Datei nicht benutzt oder welche Kürzel in der Quell-Datei nicht ersetzt wurden.
Mit dem Parameter MKL
kann zudem die maximale Länge der Kürzel verändert werden.