Batch-Datei: Jede 2. Zeile einer txt-Datei löschen

JUB

Ensign
Registriert
Okt. 2004
Beiträge
243
Hallo Leute!
Würde mich freuen, wenn mir jemand helfen könnte. Habe folgendes, sehr einfach scheinendes Problem:
Ich habe einige Textdateien mit Daten, leider zu viele Daten. Darum möchte ich jede zweite Zeile der Datei löschen und dann unter einem neuen Namen zur Weiterbearbeitung speichern. Denke, dass das pern einfachen Batchdateibefehlen möglich ist. Leider habe ich keine Ahnung in diesem Bereich.
Könnt ihr mir weiterhelfen?
Danke schonmal.

Edit:Kann mir denn niemand weiterhelfen?
 
Zuletzt bearbeitet:
Könnte man auch mit Excel o.ä. machen. Textdatei öffnen, eine zusätzliche Spalte einfügen mit den Werten 1 - 2 - 1 - 2 - 1 - 2 - ... und dann nach dieser Spalte sortieren.

excel_jede_zweite_zeile.jpg

Dann kannst du alle 2er-Zeilen einfach löschen.
 
Hi!
Danke für deine Hilfe, grundsätzlich eine gute Idee, geht leider nicht (bzw. nur sehr sehr umständlich), wenn es zu viele Zeilen für Excel sind.
Ist das nicht durch ein paar einfache Befehle in einer Batch-Datei möglich?
 
D.h. du hast mehr als 65.000 bzw. 1.000.000 (ab Excel 2007) Zeilen?

Aber selbst dann dauert das keine 2 Minuten.
 
Ja, genau. Es sind mehr als 65.000 Zeilen. Die zu bearbeitenden Dateien sind unterschiedlich groß. Gehe mal von bis zu 150.000 Zeilen aus. Nutze zur Zeit Excel 2003.
 
Zuletzt bearbeitet:
Hätte dir mal schnell was mit Java gemacht. Du musst dazu die Java JRE von Sun installiert haben => google falls du das nicht hast. Der Quelltext ist in der Delete2ndLine.java-Datei (falls es dich interessiert), zum Ausführen brauchst du nur die Delete2ndLine.class.
Hab noch zusätzlich eine exec.bat hinterlegt mit Beispieldateinamen xy.txt damits einfacher zum Ausführen geht. Der Befehl darin lautet also
Code:
java Delete2ndLine xy.txt
Alternativ kannst du auch
Code:
java Delete2ndLine xy.txt xyz.xy
verwenden wenn du den Dateinamen der Ausgabedatei bestimmen willst. Ansonsten wird standardmäßig ein .out an den Dateinamen angehängt.

ACHTUNG: Die Eingabedatei und die Ausgabedatei dürfen natürlich nicht den identischen Dateinamen haben. Außerdem wird bei einer bereits bestehenden Ausgabedatei NICHT nachgefragt sondern sofort überschrieben.
 

Anhänge

Zuletzt bearbeitet:
Absolut klasse!!! Vielen Dank, habe es gerade mal ausprobiert und funktioniert perfekt! Genau das was ich suche! :)
Wünschte nur, ich wäre auch so fit im programmieren, damit ich solche Dinge selbst hinkriege.
 
Zurück
Oben