[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