Per Batch erste 15 Zeichen in jeder Zeile einer Textdatei lassen. Den Rest - löschen. Wie?

Mitglied: 93578

93578

26.11.2015, aktualisiert 27.11.2015, 2594 Aufrufe, 9 Kommentare

Hallo an alle,

ich habe folgendes Problem: in einer Texdatei habe ich ca. 60.000.000 Zeilen (453 MB) Jede Zeile besteht aus dem verschiedenen Anzahl von Zeichen - von 1 bis 50. Jetzt will ich In jeder Zeile nur die ersten 15 Zeichen lassen (die Zeilen mit einem Zeichenanzahl weniger als 15 sollen erhalten bleiben. Es sollen also nur die Zeilen gekürzt werden, die mehr als 15 Zeichen beinhalten) und den Rest löschen.

Oder noch genauer ausgedruckt: ich will nur die Zeilen die mehr als 15 Zeichen beinhalten kürzen. Der Zeilen mit weniger als 15 Zeichen sollen nach wie vor vorhaden sein und nicht gekürzt werden. Es soll pro Zeile ein maximales Anzahl von Zeichen (15) sein. Es sollen aber alle 60.000.000 Zeilen vorhanden bleiben.

Wie kann ich das am besten tun?

Beispiel:

Vorher:

1234
123456789sdfnwsfn
qwidhq
qd08qf67287r823r738r7fsf
asfsfsfgv
Afsfsfsdd
4t34rgrghr

Nachher:

1234
123456789sdfnws
qwidhq
qd08qf67287r823r
asfsfsfgv
Afsfsfsdd
4t34rgrghr

Oder (falls es einfacher ist) - alle Zeilen mit dem Zeichenanzahl mehr als 15 aus dieser Textdatei löschen....

Grüße aus Hamburg,

Takitano
Mitglied: 122990
122990 (Level 2)
LÖSUNG 26.11.2015, aktualisiert 30.11.2015
Powershell Einzeiler ...

Gruß grexit
Bitte warten ..
Mitglied: 93578
93578 (Level 1)
26.11.2015, aktualisiert um 14:54 Uhr
Danke, Grexit! Es scheint zu funktionieren, aber ich warte noch auf die Ergebnisse - die Datei ist ja schließlich fast 400 MB groß.... ;-) face-wink
Bitte warten ..
Mitglied: 122990
122990 (Level 2)
26.11.2015, aktualisiert 27.11.2015
Zitat von @93578:

Danke, Grexit! Es scheint zu funktionieren, aber ich warte noch auf die Ergebnisse - die Datei ist ja schließlich fast 400 MB groß.... ;-) face-wink
Bei der Größe lass die Klammern um den ersten Abschnitt weg ...o. korrigiert.
Dann läuft es schneller, aber du kannst dann nur in eine neue Datei schreiben, in die selbe Datei zurückschreiben geht in dem Fall dann nicht.
Aber bei 400MB kann das trotzdem so seine Zeit dauern.
Bitte warten ..
Mitglied: 93578
93578 (Level 1)
26.11.2015 um 15:37 Uhr
Evtl. geht es schneller, wenn ich alle Zeilen, die mehr als 15 Zeichen beinhalten einfach lösche? Gibt's dazu auch ein Einzeiler?
Bitte warten ..
Mitglied: 122990
122990 (Level 2)
26.11.2015, aktualisiert 27.11.2015
Zitat von @93578:

Evtl. geht es schneller, wenn ich alle Zeilen, die mehr als 15 Zeichen beinhalten einfach lösche? Gibt's dazu auch ein Einzeiler?
Ja aber das würde nichts bringen, 400MB sind nunmal 400MB das dauert. Batch würde da womöglich eher die Grätsche machen.

sed kann man ebenfalls für solche Dinge nutzen. Ob das schneller ist kannst du ja testen.
Bitte warten ..
Mitglied: 93578
93578 (Level 1)
26.11.2015, aktualisiert um 15:50 Uhr
Das Problem ist gelöst. SED habe ich nicht gebraucht. Einzeiler (Variant 2) funktioniert tatsächlich etwas schneller. Sonst nutze ich AkelPad 64 bit - er kann mit solchen "Monster"-Textdateien unter Windows umgehen (Notepad++ steigt bei solchen Datenvolumen aus). Danke, Grexit!
Bitte warten ..
Mitglied: 93578
93578 (Level 1)
27.11.2015, aktualisiert um 09:43 Uhr
Hallo Grexit,

leider ist das keine richtige Lösung.

Die ursprungliche Datei wurde auf 2-fache aufgebläht und ist noch nicht fertig... Außerdem sieht jetzt die Datei so aus:

Vorher:

12345
123456
12345

Nachher:

1
2
3
4
5

1
2
3
4
5
6

1
2
3
4
5

Ich wollte lediglich nur die ersten 15 Zeichen pro Zeile lassen, nicht aber diese Zeilen mit 1 Zeichen pro Zeile formatieren... ????
Bitte warten ..
Mitglied: 122990
122990 (Level 2)
LÖSUNG 27.11.2015, aktualisiert 30.11.2015
Kleinigkeit vergessen, sorry, ist oben korrigiert.
Bitte warten ..
Mitglied: 93578
93578 (Level 1)
30.11.2015 um 13:50 Uhr
Danke!!! Es hat geklappt. :-) face-smile
Bitte warten ..
Heiß diskutierte Inhalte
Off Topic
Realistische Gehaltsvorstellung für eine "IT-Allroundkraft"
gelöst JiggyLeeVor 1 TagFrageOff Topic19 Kommentare

Hallo an alle, ich hege momentan den Wunsch mich von der alten verstaubten Behörden Bürokratie und langweiliger Aufgaben los zu lösen und in einem ...

Windows 10
Windows 10 Geschwindigkeitprobleme trotz viel mehr Gb Ram
Matthes88Vor 1 TagFrageWindows 1045 Kommentare

Hallo ihr lieben aaaalso : Da mein neuer Arbeitsspeicher (32gb) von meiner alten Windows 7 version (max mit 8gb kompatibel) nicht angenommen wurde, habe ...

Humor (lol)
Tipp: Dinge, die man besser nicht klaut
altmetallerVor 1 TagTippHumor (lol)12 Kommentare

Hallo, so wurde meiner Hündin z.B. heute der (eingeschaltete) GPS-Tracker mit Mobilfunkanbindung quasi "direkt vom Halsband weggefunden". Akku hatte noch 60% :-P Und ich ...

Windows Server
GPU Passthrough HYPER-V 2019
bintesVor 1 TagFrageWindows Server8 Kommentare

Hallo, ich habe ein ein Problem mit der Bereitstellung einer Grafikkarte an eine virtuelle Maschine. Hardware: - HPE ProLiant DL380 Gen9 V4 Rack Server ...

Video & Streaming
Videoaufnahme funktioniert nur bis zum ersten Reboot (0x80040217)
IllusionFACTORYVor 1 TagFrageVideo & Streaming11 Kommentare

Ich nehme über eine Video-Software von einem USB-Hardware-Encoder Video auf. Das funktioniert exakt bis zum ersten Reboot - danach bekomme ich beim Starten der ...

Windows Server
Windows Admin Center DC
maximidVor 1 TagFrageWindows Server3 Kommentare

Hallo, ich hätte mal eine Frage zu Windows Admin Center und zwar schaue ich es mir aktuell etwas an da mir die zentrale Verwaltung ...

Grafikkarten & Monitore
Monitorhalterung mit 80cm Armlänge
ben1300Vor 1 TagFrageGrafikkarten & Monitore7 Kommentare

Guten Abend ! ich bin auf der Suche nach einer Monitorhalterung, im besten Fall ohne Bohrung für einen 28" Monitor (Vesa Halterung). Nun kommt ...

SAN, NAS, DAS
Synology DS213j - Volume nach HDD Austausch vergrößern
gelöst JasperBeardleyVor 1 TagFrageSAN, NAS, DAS4 Kommentare

Moin, ich hab meinem NAS zwei neue 8TB spendiert, da die 3TB Platten jetzt 6 Jahre alt sind. Da die beiden Platten im JBOD ...