Gewisse Teile automatisch aus Text löschen

sa322

Stammgast
Also ich habe hier einen Text von einem Lernprogramm.
Nun will ich nur die Fragen rausfiltern um einen Fragenkatalog zu erstellen.

Der Text sieht nun so aus:
f1001
Welches dieser Zeichen bedeutet "Festmacheverbot"?
1
2
3
33Verbot: Festmachen
sign05.bmp,sign08.bmp,sign13.bmp
f1002
Bei welchem Signal ist das Wasserskifahren verboten?
1
2
3
32Verbot: Wasserskifahren
sign04.bmp,sign06.bmp,sign07.bmp
f1003
Bei welchem dieser Signale ist die Durchfahrt für Segelschiffe verboten?
1
2
3
31Verbot: Fahren mit Segelschiffen
sign07.bmp,sign12.bmp,sign04.bmp
f1004
Wo ist die Durchfahrt für Schiffe mit Maschinenantrieb verboten?
...

Nun will ich dass das ganze am Schluss so aussieht:

Welches dieser Zeichen bedeutet "Festmacheverbot"?
Bei welchem Signal ist das Wasserskifahren verboten?
Bei welchem dieser Signale ist die Durchfahrt für Segelschiffe verboten?
Wo ist die Durchfahrt für Schiffe mit Maschinenantrieb verboten?
...
Da ich nicht Lust habe 4 Bögen à 60-100 Fragen von Hand zu dursuchen wollte ich fragen ob man das auch automatisieren kann.

Und könnte man auch die doppelten Fragen erkennen und automatisch löschen, dass es am Schluss nur noch eine hat?

Währe enorm froh.

Liebe Grüsse
sa322

P.S: Wegen der Benutzerrechte und Copyright: Ich könnte den Programm-macher fragen ob ich das darf wenn nötig. Aber da alle Fragen in leicht anderer Form im Gesetzbuch stehen... Also ich könnte ihn auf jeden Fall fragen falls das rechtlich pflicht ist.
 

slup

PCtipp-Moderation
Teammitglied
Also ich habe hier einen Text von einem Lernprogramm.
Nun will ich nur die Fragen rausfiltern um einen Fragenkatalog zu erstellen.

Der Text sieht nun so aus:


Nun will ich dass das ganze am Schluss so aussieht:


Da ich nicht Lust habe 4 Bögen à 60-100 Fragen von Hand zu dursuchen wollte ich fragen ob man das auch automatisieren kann.

Und könnte man auch die doppelten Fragen erkennen und automatisch löschen, dass es am Schluss nur noch eine hat?

Währe enorm froh.

Liebe Grüsse
sa322

P.S: Wegen der Benutzerrechte und Copyright: Ich könnte den Programm-macher fragen ob ich das darf wenn nötig. Aber da alle Fragen in leicht anderer Form im Gesetzbuch stehen... Also ich könnte ihn auf jeden Fall fragen falls das rechtlich pflicht ist.
Wenn die Reihenfolge der Fragen nicht erhalten werden muss, kannst du das Ganze als Text ins Excel kopieren und nach der ersten Spalte sortieren. Die zu löschenden Zeilen sind dann schön beieinander.
Am Schluss noch den Befehl 'Duplikate entfernen' ausführen.
In Word kannst du auch sortieren, musst aber zuerst 'manuelle Zeilenumbrüche' durch 'Absatzmarken' ersetzen. Und das mit den Duplikaten geht nicht.
 
Zuletzt bearbeitet:

pagefault

Inaktiv
Der Text sieht nun so aus:

f1001
Welches dieser Zeichen bedeutet "Festmacheverbot"?
1
2
3
33Verbot: Festmachen
sign05.bmp,sign08.bmp,sign13.bmp
f1002
Bei welchem Signal ist das Wasserskifahren verboten?
Also, wenn alle Fragen nach diesem Muster sind, geht das ganz billig: (Annahme: Der Fragenkatalog ist in aufgaben.txt)
Code:
grep -E [0-9] -v aufgaben.txt > fragen.txt

Mit diesem Befehl werden alle Zeilen ausgefiltert, die eine Ziffer 0 bis 9 enthalten. (blöd natürlich, wenn's auch in den Fragen Ziffern hätte ;) )

grep.exe kriegst du z.B. hier: http://unxutils.sourceforge.net/

----------
Nachtrag:

Sorry, war ein langer Tag ;) öhm, das klassische Merkmal einer Frage ist ja? -> Genau, das Fragezeichen :D

geht also noch viel billiger:
Code:
grep ? aufgaben.txt > fragen.txt

bzw noch zuverlässiger: (findet nur noch Fragezeichen am Schluss)
Code:
grep ?$ aufgaben.txt > fragen.txt
 
Zuletzt bearbeitet:

sa322

Stammgast
@ Slup: Ich habe das mit den Duplikaten nicht gefunden oder nicht kapiert. Das andere hat aber wunderbar geklappt. Leider hatte es nicht nur W-Fragen also musste ich noch mitüberlegen.

Aber es ging sehr schnell.

Waren doch fast etwa 200 Fragen.

Danke

sa322
 
Zuletzt bearbeitet:

pagefault

Inaktiv
@sa332: Was ist aus der ursprünglichen Fragestellung geworden?

Gewisse Teile automatisch aus Text löschen

Die Excel-Lösung klingt da für mich nicht wahnsinnig automatisch ;)
 

slup

PCtipp-Moderation
Teammitglied
...

Die Excel-Lösung klingt da für mich nicht wahnsinnig automatisch ;)
Da er das vermutlich nur 1x machen musste (und unterdessen auch schon gemacht hat), war es sicher eine schnelle und einfache Lösung. BTW: Wie brächtest du mit GREP die Duplikate raus? In Excel ist es 1 Befehl.
 

pagefault

Inaktiv
BTW: Wie brächtest du mit GREP die Duplikate raus? In Excel ist es 1 Befehl.
Wenn du die regexp für grep geschickt genug wählst, kriegst du keine Duplikate.

Falls es von den Daten her doch zu Duplikaten kommen sollte, hängst du einfach noch einen | uniq rein und "gut ist".

(uniq.exe gibts ebenfalls im unxutils.zip)
 

sa322

Stammgast
Ja, ganz automatisch war es nicht. Aber eine Sehr efektive Lösung.

Word und Excel 2003. An das 2007 habe ich mich nur in der Schule herangewagt. Aber irgendwie ist mir 03 sehr sympathisch. Nur sind jeztz die drei Lizenzen Weg. Also werde ich früher oder später umsteigen müssen.
 
Oben