rst1989
Goto Top

Bestimmte Zeile aus CSV TXT auslesen und ausgeben

Hallo zusammen,

ich benötige bitte eine Hilfestellung bei folgender Problemstellung.

Ich habe eine Text-Datei (txt) was eigentlich eine CSV-Datei darstellt die mit einer Pipe (|) getrennt ist.

Nun habe ich MEHRERE TXT-Dateien und diese enthalten mehrere Zeilen, mit jeweils folgenden Buchstaben je Zeile am Anfang:
K*
L*
C*
P*
bla
Die Buchstaben können mehrfach je Zeile vorkommen.

Was ich erreichen möchte:

Mich interessiert nur die Zeile C* und zwar die komplette Zeile C* samt deren Inhalt der dahinter steht. Der Rest kann quasi in die Mülltonne face-wink - Es würde aber auch reichen einfach nur die Zeile die mit "C*" beginnt zu kopieren in eine neue Datei.
Schön wäre es noch alle Dateien in dem Ordner zu greifen und gemeinsam in eine CSV-Datei zu schreiben.
Also Test1.txt / test2.txt / test 3.txt filtern nach C* und dann ausgeben in "fertig.csv"

Schön wäre eine Lösung als Batch, gerne auch Powershell wenns nicht anders geht.

Ich danke euch vielmals vorab für die Hilfe.

Viele Grüße,
René

Content-ID: 377044

Url: https://administrator.de/contentid/377044

Ausgedruckt am: 23.11.2024 um 01:11 Uhr

colinardo
Lösung colinardo 14.06.2018, aktualisiert am 17.06.2018 um 21:47:09 Uhr
Goto Top
Servus René,
such dir eins aus:

Batch
@echo off
set "dateien=D:\Dateien\*.txt"  
>"D:\Ausgabe.csv" (for /f "tokens=2* delims=:" %%a in ('findstr /irc:"^C" "%dateien%"') do echo(%%b)  
Powershell
(gc 'D:\Dateien\*.txt') -match '^C' | sc 'D:\Ausgabe.csv'  
Grüße Uwe
NetzwerkDude
NetzwerkDude 15.06.2018 um 11:12:22 Uhr
Goto Top
Wobei man für eine Ausgabe in einer .csv zumindest den Header haben müsste - sonst macht die csv ja kaum sinn und man kann weiter mit den txts arbeiten
colinardo
colinardo 15.06.2018 aktualisiert um 11:21:51 Uhr
Goto Top
Zitat von @NetzwerkDude:

Wobei man für eine Ausgabe in einer .csv zumindest den Header haben müsste - sonst macht die csv ja kaum sinn und man kann weiter mit den txts arbeiten
Ist nicht zwingend nötig, aber natürlich sinnvoll da gebe ich dir recht, mit Powershell und Import-CSV sind auch die schnell definiert ohne das es einen Header geben müsste.

Aber das sollte er ja mit einem weiteren echo der Headers in die Datei nun selbst hinbekommen face-smile.
rst1989
rst1989 17.06.2018 um 19:43:50 Uhr
Goto Top
Vielen Dank - die Batch ist genau die Lösung.