[Tustep-Liste] Datei splitten an einem bestimmten Tag und dann in verschiedene Dateien
Gottfried Reeg
Gottfried.reeg at seegelken-reeg.de
Do Apr 18 22:34:27 CEST 2013
Lieber Herr Tobner,
bei der ACCESS-Anweisung geben Sie /RECORDS als Option hinter READ. In
diesem Fall werden einzelne Sätze eingelesen. Hier werden beim Einlesen
keinerlei Tabellen benötigt.
Sie wollen aber keine einzelnen Sätze lesen, sondern die gesamte Datei,
die dann entsprechend der Angaben der Tabellen atab und etab unterteilt
werden soll. In diesem Fall sollten Sie STREAM als Option angeben:
ACCESS d: READ/STREAM $this ...
Noch ein kleiner Hinweis: die gefundenen Tags werden nicht in die
Dateien ausgegeben. Wenn Sie die haben wollten, müssen Sie die vorher
ergänzen:
SET doc = CONCAT (aken,doc,eken)
Mit freundlichen Grüßen
Gottfried Reeg
Am 18.04.2013 20:37, schrieb Rene at Uni:
> Diskussionsforum Tustep-Liste
> Weitere Informationen: www.itug.de
> ------------------------------------------------------------
>
> Hallo zusammen,
>
> oftmals bearbeite ich vereinzelte RTF-Dateien gesammelt in Tustep.
> Nach Bearbeitung steht die Frage, wie sie wieder in einzelne
> RTF-Dateien kommen. Jede RTF ist innerhalb der großen
> Sammel-RTF-Tustep-Datei gekennzeichnet mit <document ...> * </document>.
>
> HZ2*UNTERTEILE.M
> 2 |$$ MODE TUSCRIPT, {}
> 3 |- Welche Datei soll unterteilt werden
> 4 |SET this = "hz2_npzxx.tus"
> 5 |
> 6 |- Abschnittanfang und Abschnittende für Unterteilung
> 7 |BUILD S_TABLE atab = ":<document:"
> 8 |BUILD S_TABLE etab = ":</document>:"
> 9 |
> 10 |ACCESS d: READ/RECORDS $this ...
> 10/1 | snr.znr/unr, aken/atab + txt + eken/etab
> 11 |LOOP nr
> 12 | READ/EXIT d doc
> 12/1 | SET current_file = CONCAT ("hz2_npzxx-", nr)
> 13 | ERROR/STOP CREATE (current_file, seq-O)
> 14 | FILE/ERASE "{current_file}" = doc
> 14/1 |END LOOP
> 15 |ENDACCESS/PRINT d
> ***** | ----- Dateiende -----
>
> mit der Fehlermedlung:
> ===============================================================================
>
> #ma,HZ2*UNTERTEILE.M
> Start MAKRO auf: tosh am: 18.04.13 um: 20:01:58
> ######## Nach >aken< folgt >/< statt >,< oder ><
> ########
> 0.1/01 snr.znr/unr, aken/atab + txt + eken/etab
> @@@@@@@@ CREATE wegen vorangehender Fehler nicht ausgeführt
> @@@@@@@@
> Ende MAKRO auf: tosh am: 18.04.13 um: 20:01:58
> ===============================================================================
>
>
> Der Slash nach "aken" ist laut Handbuch notwendig...
>
> Gibt es vielleicht noch einen kürzeren Weg als über ACCESS?
> Kürzer als das hier vielleicht sogar auf der Linux-Kommandozeile? :)
>
> $ awk '/<document>/{n++}{print > "hz2_npzxx-" n ".txt"}' hz2_npzxx.txt
>
> Dank und viele Grüße,
> René Tobner
>
> ------------------------------------------------------------
> Tustep-Liste at itug.de
> https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste
>
Mehr Informationen über die Mailingliste Tustep-Liste