Vorschlag: Textfilesplitting nach x Zeilen
Moderators: Hacker, Stefan2, white
Vorschlag: Textfilesplitting nach x Zeilen
Hallo!
Beruflich habe ich häufig sehr große Flatfiles (ASCII, ANSI oder Unicode) aus Schnittstellen, die ich zur Weiterverarbeitung in handliche Teile zerlegen muß.
Die normalen Filesplitting-Tools splitten Dateien nach x byte, MB, etc.
und beachten dabei keine "Datensatztrennzeichen". Das Ergebniss ist ein
Splitt irgendwo im Datensatz und daher unbrauchbar.
Daher meine Anfrage: Ist es möglich die Funktion "Dateien aufspalten" um eine Option "Nach x Zeilen" zu erweitern?
evtl. läßt sich der Datensatztrenner ja noch frei definieren?
Besten Dank
Beruflich habe ich häufig sehr große Flatfiles (ASCII, ANSI oder Unicode) aus Schnittstellen, die ich zur Weiterverarbeitung in handliche Teile zerlegen muß.
Die normalen Filesplitting-Tools splitten Dateien nach x byte, MB, etc.
und beachten dabei keine "Datensatztrennzeichen". Das Ergebniss ist ein
Splitt irgendwo im Datensatz und daher unbrauchbar.
Daher meine Anfrage: Ist es möglich die Funktion "Dateien aufspalten" um eine Option "Nach x Zeilen" zu erweitern?
evtl. läßt sich der Datensatztrenner ja noch frei definieren?
Besten Dank
- SanskritFritz
- Power Member
- Posts: 3693
- Joined: 2003-07-24, 09:25 UTC
- Location: Budapest, Hungary
Unix split does it, or a little Perl script
If you have any sort of Unix box around, they all have split, which can do what you want. See http://www.wuppy.net.ru/books/Orelly/unix/upt/ch35_09.htm
If not, I'm sure this has been done many times with Perl and other scripting languages, so you should be able to find a script and assign it to a button in TC.
If not, I'm sure this has been done many times with Perl and other scripting languages, so you should be able to find a script and assign it to a button in TC.
PS: Yes, in fact there is a ready-made Perl script doing exactly what you want (and more of course): http://search.cpan.org/~cwest/ppt-0.14/bin/split which is part of the Perl Power Tools project: http://search.cpan.org/~cwest/ppt-0.14/
And in case you are not familiar with Perl, Windows distributions come with pl2bat.bat which turns a .pl script into a regular executable batch file (through a few clever tricks which hide one language from the other).
And in case you are not familiar with Perl, Windows distributions come with pl2bat.bat which turns a .pl script into a regular executable batch file (through a few clever tricks which hide one language from the other).
Für Split gibt's auch 'nen Windows-Port:
http://gnuwin32.sourceforge.net/packages/coreutils.htm
http://gnuwin32.sourceforge.net/packages/coreutils.htm
5.3 split: Split a file into fixed-size pieces
split creates output files containing consecutive sections of input (standard input if none is given or input is `-'). Synopsis:
split [option] [input [prefix]]
By default, split puts 1000 lines of input (or whatever is left over for the last section), into each output file.
The output files' names consist of prefix (`x' by default) followed by a group of characters (`aa', `ab', ... by default), such that concatenating the output files in traditional sorted order by file name produces the original input file. If the output file names are exhausted, split reports an error without deleting the output files that it did create.
Icfu`-l lines'
`--lines=lines'
Put lines lines of input into each output file.
This account is for sale
Es ist schön, dass es für alles immer eine "externe" Lösung gibt.
Warum kann das aber TC nicht?
Ich schliesse mich den Wunsch des Threaderstellers an und erweitere noch meinen Wunsch.
Nicht nur nach x Zeilen, sondern auch in wievielen Parts überhaupt
"riesige" Files gesplittet werden sollen. Nicht nach fest definierten Vorgaben und nicht nach nach eingebbaren Bytes. Nein Parts. Ich würde mich freuen, wenn TC das alles alleine könnte.
Zum Beispiel:
Ich hab eine 175 MB Datei, und ich möchte das TC es in 8 Teile splittet.
Ohne das ich irgendetwas selbst dazu tun muss.
Gruß Stöbi
Warum kann das aber TC nicht?
Ich schliesse mich den Wunsch des Threaderstellers an und erweitere noch meinen Wunsch.
Nicht nur nach x Zeilen, sondern auch in wievielen Parts überhaupt
"riesige" Files gesplittet werden sollen. Nicht nach fest definierten Vorgaben und nicht nach nach eingebbaren Bytes. Nein Parts. Ich würde mich freuen, wenn TC das alles alleine könnte.
Zum Beispiel:
Ich hab eine 175 MB Datei, und ich möchte das TC es in 8 Teile splittet.
Ohne das ich irgendetwas selbst dazu tun muss.
Gruß Stöbi
Weil der Wunsch zu speziell ist, ganz einfach. Der TC kann vieles im allgemeinen sehr gut, aber genau dieses im speziellen sehr schlecht oder gar nicht, einfach weil er eine zu große Palette an Funktionen abdecken muß. Ein Entwickler alleine kann unmöglich die Arbeit von 100 anderen leisten, genau das ist der Grund, weshalb spezialisierte externe Programme immer leistungsfähiger sind als die Funktion im TC selbst.Warum kann das aber TC nicht?
Für Jupps Vorschlag braucht es eine interne Logik, man muß einstellen können, welche Trennzeichen berücksichtigt werden und ähnliches.
Dein Wunsch mit den Teilen ist sicherlich einfacher zu realisieren, da steht ja nur 'ne kleine Rechnung an. Ich kann mich aber nicht daran erinnern, daß schon mal jemand so einen Wunsch geäußert hat und selbst kann ich mir auch nicht vorstellen, wofür man eine solche Funktion braucht, aber das muß ja nichts heißen.

Icfu
This account is for sale
icfu wrote:Dein Wunsch mit den Teilen ist sicherlich einfacher zu realisieren, da steht ja nur 'ne kleine Rechnung an. Ich kann mich aber nicht daran erinnern, daß schon mal jemand so einen Wunsch geäußert hat und selbst kann ich mir auch nicht vorstellen, wofür man eine solche Funktion braucht, aber das muß ja nichts heißen.Warum kann das aber TC nicht?
Icfu
Schon vor langer langer Zeit. Ich glaube mich daran erinnern zu können,
als Antwort bekommen zu haben, dass mein Wunsch zu speziell sei bzw.
kein Sinn darin gesehen wird.
Nun, ich finde es für einfacher in angegebenen Parts als nach irgendwelchen bestimmten Disktetten, Zip oder anderen Größen splitten zu wollen. Gut, man kann ja noch die Bytegröße selbst bestimmen, kann man sicher auch irgendwann mal gebrauchen. Aber ein File in x Parts zu splitten wäre schon schön, wenn TC das könnte.
Gruß Stöbi
Das Unverständnis rührt wohl daher, daß man Dateien üblicherweise splittet, um sie in irgendeiner Form zu transportieren, die Größe der Teile ist daher das entscheidene Kriterium, nicht die Anzahl der Dateien.
Vielleicht erklärst Du einfach mal kurz, wofür man diese Funktion brauchen könnte.
Ich würde mir stattdessen wünschen, daß man die Auswahlliste der Dateigrößen konfigurieren könnte.
Icfu
Vielleicht erklärst Du einfach mal kurz, wofür man diese Funktion brauchen könnte.
Ich würde mir stattdessen wünschen, daß man die Auswahlliste der Dateigrößen konfigurieren könnte.
Icfu
This account is for sale
Auf verschiedenen FTP Server habe ich max. Filelimitgrößen, warumicfu wrote:Das Unverständnis rührt wohl daher, daß man Dateien üblicherweise splittet, um sie in irgendeiner Form zu transportieren, die Größe der Teile ist daher das entscheidene Kriterium, nicht die Anzahl der Dateien.
Vielleicht erklärst Du einfach mal kurz, wofür man diese Funktion brauchen könnte.
Ich würde mir stattdessen wünschen, daß man die Auswahlliste der Dateigrößen konfigurieren könnte.
Icfu
auch immer. Ab 100 MB aufwärts muss ich dann schon mal in 3, 5,
7 bis max. 30 Parts splitten. Der größte Teil sind FTP Server ohne
Resume. Ist dann ärgerlich, zum Beispiel ein 200 MB File jedes Mal
neu anzufangen. Also wird gesplittet.
Auch E-Mail Anhänge verschicke ich nicht in Diskettengröße etc..
Gruß Stöbi