- Beiträge: 7
Einzelne Textdateien zu einer großen Textdatei zusammenfügen
- Sven Bönnighausen
- Autor
- Offline
- Benutzer
Weniger
Mehr
3 Jahre 9 Monate her #4141
von Sven Bönnighausen
Einzelne Textdateien zu einer großen Textdatei zusammenfügen wurde erstellt von Sven Bönnighausen
Hallo Herr Stark,
ich habe eine neue Anforderung die wahrscheinlich schnell gelöst sein sollte. Ich finde momentan keine elegante und einfache Lösung.
Folgende Ausgangssituation:
Es gibt mehrere Textdateien mit nur einer Spalte die den Wert Seriennummer enthält:
Datei1 = 3B7005-03 _20201210_0631.txt
Datei2 = 3B7005-04 _20200522_0647.txt
Datei3 = E57767-01 _20210121_1111.txt
usw.
Datei1:
1052833001
1052833002
1052833003
1052833004
1052833005
1052833006
Datei2:
1049012014
1049012016
1052999006
1050687018
1050687017
1052999005
Datei3:
1055717008
1055717012
1055717009
1055717020
1055717017
1055717015
1055717011
1055717014
1055717007
1055717016
1055717038
1055717036
1055717030
1055717013
1055717010
1055717024
1055717029
1055717023
1055717035
1055717037
1055717033
1055717032
1055717034
1055717026
Die Ausgabedatei soll dann zwei Spalten enthalten. Dateiname (Spalte1 / Teilstring) und Seriennummer (Spalte2). Die Sortierung soll dann nach Spalte 1 aufsteigend erfolgen.
Ausgabedatei:
Vielen Dank für die Unterstützung!
VG
Sven Bönnighausen
ich habe eine neue Anforderung die wahrscheinlich schnell gelöst sein sollte. Ich finde momentan keine elegante und einfache Lösung.
Folgende Ausgangssituation:
Es gibt mehrere Textdateien mit nur einer Spalte die den Wert Seriennummer enthält:
Datei1 = 3B7005-03 _20201210_0631.txt
Datei2 = 3B7005-04 _20200522_0647.txt
Datei3 = E57767-01 _20210121_1111.txt
usw.
Datei1:
1052833001
1052833002
1052833003
1052833004
1052833005
1052833006
Datei2:
1049012014
1049012016
1052999006
1050687018
1050687017
1052999005
Datei3:
1055717008
1055717012
1055717009
1055717020
1055717017
1055717015
1055717011
1055717014
1055717007
1055717016
1055717038
1055717036
1055717030
1055717013
1055717010
1055717024
1055717029
1055717023
1055717035
1055717037
1055717033
1055717032
1055717034
1055717026
Die Ausgabedatei soll dann zwei Spalten enthalten. Dateiname (Spalte1 / Teilstring) und Seriennummer (Spalte2). Die Sortierung soll dann nach Spalte 1 aufsteigend erfolgen.
Ausgabedatei:
Vielen Dank für die Unterstützung!
VG
Sven Bönnighausen
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
3 Jahre 9 Monate her #4145
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Einzelne Textdateien zu einer großen Textdatei zusammenfügen
Hallo Herr Bönnighausen,
ganz so einfach geht es nicht aber ist natürlich machbar. Sie benötigen dafür zwingend das Batch Modul und zwei separate FlowHeater Definitionen sowie zur Automation ein CMD Skript, siehe unten.
Mit dem Batch Modul können Sie über die Kommandozeilen Option /ReadFileName Wildcards angeben wie „*.txt“. So werden alle Dateien passend zum angegeben Wildcard nacheinander verarbeitet.
Die erste Definition liest per Wildcards alle TXT Dateien nacheinander ein und fügt den Inhalt jeweils an eine bestehende Textdatei an.
Anmerkung: Im CMD Skript wird diese unsortierte Textdatei vor jeder Ausführung gelöscht. Über den System Heater und dem Path Heater wird der aktuelle Datei dann noch in die Definition geholt und ausgegeben, siehe Beispiel 01.fhd
Die zweite Definition liest die erzeugte „Gesamt“ Textdatei, sortiert diese mit Hilfe des Sort Heater und gibt die Datei wieder aus.
Anmerkung: Die Sortierung könnte alternativ auch über den InMemory Adapter durchgeführt werden, siehe Beispiel im Anhang 03.fhd.
CMD Skript zur Automation
ganz so einfach geht es nicht aber ist natürlich machbar. Sie benötigen dafür zwingend das Batch Modul und zwei separate FlowHeater Definitionen sowie zur Automation ein CMD Skript, siehe unten.
Mit dem Batch Modul können Sie über die Kommandozeilen Option /ReadFileName Wildcards angeben wie „*.txt“. So werden alle Dateien passend zum angegeben Wildcard nacheinander verarbeitet.
Die erste Definition liest per Wildcards alle TXT Dateien nacheinander ein und fügt den Inhalt jeweils an eine bestehende Textdatei an.
Anmerkung: Im CMD Skript wird diese unsortierte Textdatei vor jeder Ausführung gelöscht. Über den System Heater und dem Path Heater wird der aktuelle Datei dann noch in die Definition geholt und ausgegeben, siehe Beispiel 01.fhd
Die zweite Definition liest die erzeugte „Gesamt“ Textdatei, sortiert diese mit Hilfe des Sort Heater und gibt die Datei wieder aus.
Anmerkung: Die Sortierung könnte alternativ auch über den InMemory Adapter durchgeführt werden, siehe Beispiel im Anhang 03.fhd.
CMD Skript zur Automation
Code:
@echo off
REM Pfad zur FHBatch.exe setzen
set FHBATCH="C:\Program Files\FlowHeater V4\BIN\FHBatch.exe"
REM unsortierte Gesamtausgabe vor Ausführung löschen
if exist unsortiert.txt del unsortiert.txt
REM unsortierte Gesamtausgabe erzeugen
%FHBATCH% /ReadFileName .\files\*.txt 01.fhd
REM unsortierte Gesamtausgabe sortieren
%FHBATCH% 02.fhd
REM sortierte Gesamtausgabe anzeigen
notepad.exe sortiert.txt
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Sven Bönnighausen
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 7
3 Jahre 9 Monate her #4146
von Sven Bönnighausen
Sven Bönnighausen antwortete auf Einzelne Textdateien zu einer großen Textdatei zusammenfügen
Hallo Herr Stark,
danke für die erneute Hilfe. Ich habe die Definition nur noch ein wenig angepasst, und nun ist alles perfekt.
VG
Sven Bönnighausen
danke für die erneute Hilfe. Ich habe die Definition nur noch ein wenig angepasst, und nun ist alles perfekt.
VG
Sven Bönnighausen
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.271 Sekunden