Jede 2. Zeile eines Textdokuments löschen, geht das?

4 Antworten

Weißt Du, wie man ein Textdokument in Excel importiert?

Dann können wir das mithilfe eines Makros machen.

Coralie18 
Fragesteller
 16.06.2016, 22:29

Ich habe leider gar kein Excel ;c

0
Orsovai  16.06.2016, 22:31

Okay, hast Du einen C++ Compiler installiert? Also wenn Du nur einen Texteditor hast wird das nichts :/

0
MatthiasHerz  16.06.2016, 22:44
@Orsovai

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?

0
Orsovai  16.06.2016, 23:00
@PWolff

Außerdem hätte ja sein können, dass ein Compiler schon installiert ist, gibts ja schließlich umsonst ;)

Oder es wird Linux benutzt, da ist der GNU Compiler bzw Clang in der Regen installiert.

0
MatthiasHerz  16.06.2016, 23:09
@Orsovai

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.

(:

0
MatthiasHerz  16.06.2016, 23:34
@Etter

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.

0
Orsovai  16.06.2016, 23:34

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?

0

Haste Windows installiert? Wie wärs mit Powershell?

https://bitbucket.org/snippets/Ettar/Eknk7

http://windows-hilfe-forum.de/f53/anteitung-ausfuehrung-von-powershell-scripten-dauerhaft-aktivieren-2446/

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.

Coralie18 
Fragesteller
 16.06.2016, 23:19

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

0
Etter  16.06.2016, 23:19
@Coralie18

Jo klar. Lads irgendwo hoch und schick mir den Link per Kompli ^^.

0
Coralie18 
Fragesteller
 16.06.2016, 23:21

Passt schon, ein Kumpel hats hinbekommen! :) trotzdem vielen Dank :3

0

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?

Coralie18 
Fragesteller
 16.06.2016, 22:27

Nein nein, da stehen Zahlen und Buchstaben drin, und die Zeilen werden durch eine Art Leerzeichen eingeleitet

0
MatthiasHerz  16.06.2016, 22:39
@Coralie18

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 (:

0
Etter  16.06.2016, 23:13
@MatthiasHerz

What?

Passiert schnell mal und ohne dass man darauf Einfluss nehmen kann.

0
Coralie18 
Fragesteller
 16.06.2016, 22:55

Nunya, ich habe meine Abonnenten von Youtube kopiert, aber da sind halt dazwischen immer Zeilen, in denen steht, wann sie abonniert haben .-.

0
MatthiasHerz  16.06.2016, 23:05
@Coralie18

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.

0
Coralie18 
Fragesteller
 16.06.2016, 23:10

Ich habe leider kein Excel und auch nicht vor es zu cracken

0
MatthiasHerz  16.06.2016, 23:23
@Coralie18

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.

0
Sprandel  16.06.2016, 23:19

dann hole dir libre office wie schon oben erwähnt kostet nix

0

Welches Betriebssystem?

Wie sind die Zeilen getrennt?

Coralie18 
Fragesteller
 16.06.2016, 22:43

Win7, wie sie getrennt sind, weiß ich nicht, da ich den Text kopiert habe

0
PWolff  16.06.2016, 23:26
@Coralie18

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.

1