Datei unterteilen

Bash, Shell, PHP, Python, Perl, CGI
suntzu
Posts: 669
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Datei unterteilen

Post by suntzu »

Hi,

ich habe Dateien mit mehreren Millionen Zeilen, jede Datei hat das Format

Code: Select all

K
P
P
P
K
P
P
K
K
K
P
P
Die Dateien möchte ich nun gerne in mehrere kleinere Dateien aufsplitten, jede ca. 200.000 Zeilen groß, wobei jede Datei mit einem K beginnt und alle "dazugehörigen" Ps enthalten muss. Obige Datei würde ich also z.B. gerne, wenn ich 5-Zeilen-Dateien haben möchte, splitten in

Code: Select all

Datei 1:
K
P
P
P
Datei 2:
K
P
P
K
K
Datei 3:
K
P
P
Wichtig ist, dass jede Datei mit K beginnt und die letzte Zeile einer jeden Datei immer die Zeile vor einer K-Zeile ist.

Irgendwelche Ideen, wie ich das schnell und elegant in der Bash lösen kann?

Danke
Dominik
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Datei unterteilen

Post by Joe User »

http://sed.sourceforge.net/sed1line.txt sollte ausreichend Input liefern.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.