Jede 2. Zeile eines Textdokuments löschen, geht das?
Hallu, ich habe ein Textdokument mit 2.000 Zeilen, wovon aber jede 2. Zeile unnötig ist und ich die gern löschen würde ^^ jetzt meine Frage: Kann man das irgendwie automatisch machen lassen, oder muss ich echt jede einzelne makieren und löschen?
4 Antworten
Weißt Du, wie man ein Textdokument in Excel importiert?
Dann können wir das mithilfe eines Makros machen.
Recht hast! Morgen schreib ich Dir ein Powershell Skript für das Problem!
Also jede Zweite Zeile löschen und den Text anschließend zusammenrücken?
Kannst Du ein Bild von den ersten paar Zeilen Posten?
Da war doch was mit Kanonen und Spatzen ...
In der Zeit, wo ein C-Compiler installiert, eingerichtet und ein passendes "Programm" erstellt ist, kann man auch 1000 Zeilen manuell löschen, oder?
Unter Linux reicht ein Shell Skript zum einfachen Bearbeiten einer reinen Textdatei.
Wenn schon kein Excel vorhanden ist, solltest nicht von so komplizierten Sachen wie Compilern oder gar Linux ausgehen.
(:
Als ich noch Windows hatte, fand ich das Löschen von Text auf Systemebene relativ kompliziert. Seither habe ich mich nicht mehr damit befasst.
Ich nutze OS X, weswegen ich mich Linux eher verbunden fühle (;
Ich würde aber niemals jemandem raten, sich auf Windows' Systemebene zu begeben oder in einen Compiler einzutauchen, der schon Probleme hat, eine Textdatei zu filtern.
Haste Windows installiert? Wie wärs mit Powershell?
https://bitbucket.org/snippets/Ettar/Eknk7
Die Textdatei kopierst du vorsichtshalber und nennst die Kopie "test.txt". Im selben Ordner erstellst du eine Textdatei namens "new.txt".
Benutzung natürlich auf eigene Gefahr. Bei mir hats gefunzt.
Löschen tut das Script folgendes:
1
2
3
4
Zeile 1 bleibt, 2 wird gelöscht, 3 bleibt, 4 wird gelöscht.
Anschließend werden die Zeilen die bleiben in die Textdatei "new.txt" geschrieben.
Optional wäre 2 Beispielzeilen vll. hilfreich. Eine die bleiben soll, eine die unnötig ist.
Passt schon, ein Kumpel hats hinbekommen! :) trotzdem vielen Dank :3
Könnte ich dir evtl. die Datei senden und du machst das für mich? Sorry, aber ich habe echt keinen Plan, wie das funktioniert :D
Jo klar. Lads irgendwo hoch und schick mir den Link per Kompli ^^.
Ist das ein Fließtext oder ist jede Zeile durch einen Zeilenvorschub eingeleitet?
Was enthalten die überflüssigen Zeilen? Steht dort Text oder sind sie leer?
Ich habe leider kein Excel und auch nicht vor es zu cracken
Ich habe auch kein Excel. Schon seit über zehn Jahren nicht mehr.
LibreOffice ist kostenlos.
In der einen Stunde Geschreibsel hättest schon locker 750 Zeilen manuell gelöscht.
Nunya, ich habe meine Abonnenten von Youtube kopiert, aber da sind halt dazwischen immer Zeilen, in denen steht, wann sie abonniert haben .-.
Und wozu musst die dann löschen?
Transferiere die Textdatei in ein Tabellenprogramm wie Microsoft Excel oder LibreOffice Calc, nutze als Zeilentrenner Return bzw. Enter, und filtere dort die Zeilen, in denen ein Datum steht.
Alternativ kannst auf diesem Weg auch Zeilen mit Datum löschen, vorausgesetzt, in keiner der Zeilen, die übrig bleiben sollen, steht ein Datum.
Nein nein, da stehen Zahlen und Buchstaben drin, und die Zeilen werden durch eine Art Leerzeichen eingeleitet
Wenn die überflüssigen Zeilen nicht eindeutig unterscheidbar sind gegenüber dem Rest des Textes, also entweder durch einen Zeilenvorschub am Ende der Zeile (Enter oder Return) oder durch ein bestimmtes Zeichen zu Beginn jeder Zeile, ist es leider nicht so einfach zu lösen.
Der Aufwand, die Löschung der fraglichen Zeilen vorzubereiten, ist beträchtlich größer, als jene Zeilen manuell zu löschen.
Außerdem frage ich mich, wie in ein derart umfangreiches Dokument derart viele "überflüssige" Zeilen gelangen. Da hättest Dir schon beim Erstellen mal Gedanken machen sollen (:
Welches Betriebssystem?
Wie sind die Zeilen getrennt?
Win7, wie sie getrennt sind, weiß ich nicht, da ich den Text kopiert habe
Hoffen wir mal, dass es ein Zeilenumbruch ist, den Windows kennt.
(Falls nicht, kannst du die Datei mal mit WordPad öffnen und per "Speichern unter..." unter demselben Namen speichern (überschreiben); dann werden die Zeilenumbrüche durch Windows-Standard-Zeilenumbrüche ersetzt, falls WordPad die überhaupt erkennt.)
Falls die Datei test.txt heißt, lege eine neue Datei "jedeZweiteZeile.bat" an und schreib folgendes hinein:
setlocal enabledelayedexpansion
set b=0
if exist test1.txt del test1.txt
for /f "delims=" %%A in (test.txt) do ((set /a "b=(b+1)&1") && (set /a "c=1/b") && (echo %%A >> test1.txt))
set b=1
if exist test0.txt del test0.txt
for /f "delims=" %%A in (test.txt) do ((set /a "b=(b+1)&1") && (set /a "c=1/b") && (echo %%A >> test0.txt))
In test0.txt stehen nachher die Zeilen mit geraden Zeilennummern, in test1.txt die mit ungeraden Zeilennummern.
Wenn die Datei anders heißt, kannst du die Dateinamen entsprechend anpassen.
Okay, hast Du einen C++ Compiler installiert? Also wenn Du nur einen Texteditor hast wird das nichts :/