Guten Tag,
leider habe ich keine Ahnung von Programmieren. Ich brauche ein Programm, welches mir Absätze innerhalb einer Textdatei durchnummeriert. Die Nummer jedes Absatzes soll anschließend zu Beginn des Absatzes stehen. Die Textdatei beginnt mit einer Leerzeile und auch vor jedem neuen Absatz ist eine Leerzeile. Die Anzahl der Absätze variiert.
Bsp: Ist:
XXX XXXX XXXX XXXXXXXXX XXXXXXXX XXX XXXXXX
XXXX XXXXXX XXX XXXXX XXXXXX
XXXX XXX XXXX XXXX XXXX
Soll:
-
XXX XXXX XXXX XXXXXXXXX XXXXXXXX XXX XXXXXX
XXXX XXXXXX XXX XXXXX XXXXXX
-
XXXX XXX XXXX XXXX XXXX
Vielen Dank im Voraus!
Hallo
Die Nummer jedes Absatzes soll anschließend
zu Beginn des Absatzes stehen. Die Textdatei beginnt mit einer
Leerzeile und auch vor jedem neuen Absatz ist eine Leerzeile.
Die Anzahl der Absätze variiert.
Ich hab mal schnell ein kleines Python Skript fabriziert. Um das zu starten musst du Python in der 3er Version http://www.python.org installiert haben.
Um deiner Textdatei Absatznummern hinzuzufügen startest du das Skript in einer Kommandozeile wie folgt:
absatznummerieren.py eingabe.txt ausgabe.txt
absatznummerieren.py ist der dateiname des Skripts.
eingabe.txt ersetzt du durch den Dateinamen jener Textdatei die Nummern erhalten soll, ausgabe.txt ist jene Datei in die der neue Inhalt mit Absatznummern geschrieben wird.
#VERWENDUNG absatznummerieren.py eingabe.txt ausgabe.txt
#Textfile muss mit Leerzeile beginnen, zwischen 2 Absätzen eine Leerzeile
import sys
input=open(sys.argv[1],"r")
output=open(sys.argv[2],"w")
absatznr=1
for line in input:
if(len(line)==1):
output.write(line)
line=input.readline()
output.write(str(absatznr) + ". ")
absatznr=absatznr+1
output.write(line)
input.close()
output.close()
Falls Fragen auftreten bin ich für dich da.
Liebe Grüße.
Alex
Hallo marsutop
leider habe ich keine Ahnung von Programmieren. Ich brauche
ein Programm, welches mir Absätze innerhalb einer Textdatei
durchnummeriert. Die Nummer jedes Absatzes soll anschließend
zu Beginn des Absatzes stehen. Die Textdatei beginnt mit einer
Leerzeile und auch vor jedem neuen Absatz ist eine Leerzeile.
Die Anzahl der Absätze variiert.
Nachdem Softwareschmied ein schönes Python-Programm
gebaut hat, kann ich natürlich mit Perl nicht
nachstehen 
Leider läßt sich ein sinnvolles Perl-Programm nicht
angeben, weil man in Perl dazu kein Programm braucht.
Es reicht auf der Kommandozeile anzugeben:
(Windows)
C:\\> perl -i.bak -00 -pe "print qq{$.. }" text.txt
dann werden die Absätze in der Datei nummeriert,
die Originaldatei wird als .bak gesichert.
Grüße
CMБ
==> Perl/Win/32bit: http://downloads.activestate.com/ActivePerl/Windows/…
Hallo
Ich hab mal schnell ein kleines Python Skript fabriziert. Um
das zu starten musst du Python in der 3er Version
http://www.python.org installiert haben.
Um deiner Textdatei Absatznummern hinzuzufügen startest du das
Skript in einer Kommandozeile wie folgt:
absatznummerieren.py eingabe.txt ausgabe.txt
absatznummerieren.py ist der dateiname des Skripts.
eingabe.txt ersetzt du durch den Dateinamen jener Textdatei
die Nummern erhalten soll, ausgabe.txt ist jene Datei in die
der neue Inhalt mit Absatznummern geschrieben wird.
#VERWENDUNG absatznummerieren.py eingabe.txt ausgabe.txt
#Textfile muss mit Leerzeile beginnen, zwischen 2 Absätzen
eine Leerzeile
import sys
input=open(sys.argv[1],„r“)
output=open(sys.argv[2],„w“)
absatznr=1
for line in input:
if(len(line)==1):
output.write(line)
line=input.readline()
output.write(str(absatznr) + ". ")
absatznr=absatznr+1
output.write(line)
input.close()
output.close()
Falls Fragen auftreten bin ich für dich da.
Liebe Grüße.
Alex
Hallo Alex,
vielen Dank für deine Mühen. Leider klappt es noch nicht ganz. Beim Ausführen des Skripts tritt ein Fehler auf und es ergibt sich folgendes Bild:
>>> absatznummerieren.py 10-1.txt 10-1_num.txt
File „“, line 1
absatznummerieren.py 10-1.txt 10-1_num.txt
^
SyntaxError: invalid syntax
Da ich leider gar keine Erfahrungen habe, schilder ich dir noch kurz, wie ich nach der Installation vorgegangen bin. Vielleicht liegt ja dort bereits der Fehler.
- Im Startmenue IDLE (Python GUI) gestartet
- Dein Skript mit copy+paste eingefügt
- Das Ganze unter dem Namen absatznummerieren.py in dem Verzeichnis abgespeichert, wo sich auch die Datei python.exe befindet
- Textdatei „10-1.txt“ in das selbe Verzeichnis gelegt
- Im Startmenue Python (command line) gestartet und obigen Befehl eingegeben
Falls es Sinn macht, schicke ich dir gerne mal eine der Textdateien.
Viele Grüße,
Tobias
Hallo marsutop
Nachdem Softwareschmied ein schönes Python-Programm
gebaut hat, kann ich natürlich mit Perl nicht
nachstehen 
Leider läßt sich ein sinnvolles Perl-Programm nicht
angeben, weil man in Perl dazu kein Programm braucht.
Es reicht auf der Kommandozeile anzugeben:
(Windows)
C:\> perl -i.bak -00 -pe „print qq{$… }“ text.txt
dann werden die Absätze in der Datei nummeriert,
die Originaldatei wird als .bak gesichert.
Grüße
CMБ
==> Perl/Win/32bit:
http://downloads.activestate.com/ActivePerl/Windows/…
Hallo CMБ,
auch dir vielen Dank für die Antwort. Leider komme ich auch mit deiner Hilfe nicht richtig weiter. Ich muss mich hier scheinbar als völliger noobie outen, denn ich habe noch nie etwas von Perl gehört. Habe auch das installiert und versucht mit deinem Befehl zu arbeiten. Im Startmenue finde ich dann aber nur etwas, was Perl Package Manager heißt. Heißt Kommandozeile (Windows), dass ich das in der Eingabeaufforderung eingeben muss?
Ich habe versucht, den Befehl auf meinen Fall anzupassen (Verzeichnis der Textdatei gewählt und anstatt „text.txt“ den Namen meiner Textdatei eingefügt), aber dann hieß es, dass der Befehl „perl“ nicht gefunden werden konnte…
Bin über jede weitere Hilfe sehr dankbar!
Tobias
Hallo
Habe auch das installiert und versucht
mit deinem Befehl zu arbeiten. Im Startmenue finde ich dann
aber nur etwas, was Perl Package Manager heißt. Heißt
Kommandozeile (Windows), dass ich das in der
Eingabeaufforderung eingeben muss?
Ja, Eingabeaufforderung im betreffenden
Verzeichnis öffnen (http://download.microsoft.com/download/whistler/Inst…)
und dann die Zeile eingeben.
Natürlich muß „perl“ im Pfad sein, also
im Pfad steht dann (u.a.) C:\PERL\BIN
oder sowas.
Ich habe versucht, den Befehl auf meinen Fall anzupassen
(Verzeichnis der Textdatei gewählt und anstatt „text.txt“ den
Namen meiner Textdatei eingefügt), aber dann hieß es, dass der
Befehl „perl“ nicht gefunden werden konnte…
s.o.
Möglicherweise hättest Du nach der Installation
nur Deinen Rechner neu starten müssen.
Grüße
CMБ
Ahhh! Es funktioniert! Vielen Dank noch mal!
Hallo Tobias.
- Das Ganze unter dem Namen absatznummerieren.py in dem
Verzeichnis abgespeichert, wo sich auch die Datei
ython.exe befindet
Du kannst die Datei an einem beliebigen Ort abspeichern.
- Im Startmenue Python (command line) gestartet und obigen
Befehl eingegeben
Hier liegt der Fehler. Du darfst nicht die Python Kommandozeile starten sondern die von Windows (cmd). Wechsle dann in das Verzeichnis wo du absatznummerieren.py und die Textdatei gespeichert hast und gib hier den Programmnamen und die textdateinamen so wie oben ein. Jetzt sollts funktionieren.
Herzliche Grüße.
Alex
Hallo Alex,
auch dir nochmals vielen vielen Dank! Klappt wunderbar!