Datei aufteilen und Header und Footer hinzufügen

Z

zuerichris

Grünschnabel
Hallo,

ich habe eine Datei mit ca. 500.000 Zeilen die ich in Einzeldateien zu je 20.000 Zeilen aufteilen muss, die dann fortlaufend numeriert sein sollen. Diese Einzeldateien benötigen zusätzlich einen Header und Footer (ist jeweils in einer eigenen Datei drin)

Wie müsste der Code dazu aussehen? Bin Unix-Neuling, habe mal ein paar Sachen zusammengesucht:

Code:
BBP_REQUEST_COUNT = wc -l BBP_ISIN_LIST

while read BBP_REQUEST_HEADER

	BBP_REQUEST_ROWNUMBER = BBP_REQUEST_ROWNUMBER + BBP_LINES_LIMIT 

	BBP_REQUEST_FULLNAME = BBP_REQUEST_FILE + BBP_REQUEST_FILENUMBER + BBP_REQUEST_EXT 

	head -63 BBP_REQUEST_HEADER > BBP_REQUEST_FULLNAME

	head BBP_REQUEST_ROWNUMBER BBP_ISIN_LIST > BBP_REQUEST_FULLNAME

	head -3 BBP_REQUEST_FOOTER > BBP_REQUEST_FULLNAME

done

Vielen Dank!
 
Schleifen

Super, das Kommando SPLIT hilft ungemein.

Jetzt muss ich dann nur noch ne Schleife haben die

von aa bis max. zz (je nach menge der gesplitteten Dateien) zählt

damit ich darin das Kommando CAT nutzen kann.

Danke!
 
Super, das Kommando SPLIT hilft ungemein.
Jetzt muss ich dann nur noch ne Schleife haben die
von aa bis max. zz (je nach menge der gesplitteten Dateien) zählt
damit ich darin das Kommando CAT nutzen kann.
Danke!
Code:
 for f in in [[:lower:]][[:lower:]]; do echo $f; done
 
Hi,

das "[[:lower:]][[:lower:]]" ist hier als Wildcard in Verwendung, um alle Dateien im Verzeichnis zu finden die aus zwei kleinen Buchstaben bestehen.

Das eine "in" ist dennoch zuviel :).

Im Prinzip macht das nichts anders wie ein
Code:
for f in `ls [[:lower:]][[:lower:]]` ...
Das sich for so verhält war mir aber bis eben auch nicht bewusst, aber man lernt ja nie aus und in Zukunft spar ich mir das "`ls *` wohl öfter mal.

mfg
HeadCrash
 
Also erstmal bin ich begeistert ob der vielen schnellen Antworten! Danke!

Jetzt hab ich also mein Script geschrieben und bekomme auch die Ausgabedateien schön aufgeteilt. Allerdings kann ich sie nicht vom Unix Server runterkopieren ("Encountered 1 errors during transfer") und auch nicht mit dem VI-command ansehen (~ ~...)

Woran kann das noch liegen?

Danke für Eure Hilfe!
 
Muss ich die Dateien nach dem SPLIT noch irgendwie "abschliessen"?
 
wie willst Du sie herunterladen? Wie willst Du sie konkret ansehen? Was ist die exakte Fehlermeldung? Bitte jeweils 1:1, im Wortlaut, per Copy-Paste, ohne irgendwelche Kürzungen...
 
Ich habe einen SSH Tectia Client und SSH Tectia File Transfer Client, mit dem ich auf meinen PC laden will.

Das Problem scheint aber beim Anhängen der Buchstaben an den Dateinamen zu bestehen, die Ausgabe bei ls -ltr zeigt nämlich folgendes:

aaa-rw-r-- 1 a446561 cruser 65000 Apr 5 16:49 bbp_test
aab-rw-r-- 1 a446561 cruser 65000 Apr 5 16:49 bbp_test

Die "Endung" ist plötzlich vorn, mitten zwischen den Berechtigungen...

?(
 
Da geht wohl was beim Erzeugen des Dateinamens schief. Mach doch mal ein
ls -lb
dann siehst Du, wie der Dateiname wirklich aussieht. Vielleicht ein \r drin oder so ...
 
Auch das Problem ist gelöst. Ich musste um das SPLIT - Command noch die ` setzen. Danach spitze...
 

Ähnliche Themen

ca. 1200 PDF-Dateien auslesen und bestimmte Daten in eine CSV-Datei speichern

Zeichen und Zeilen vieler Datein auslesen

Dateien in Unterordnern entpacken?

Zurück
Oben