Ho un file .msg piuttosto grande formattato nel formato UIEE.
$ wc -l big_db.msg
8726593 big_db.msg
In sostanza, il file è composto da voci di varie lunghezze che assomigliano a questo:
UR|1
AA|Condon, Richard
TI|Prizzi's Family
CN|Collectable- Good/Good
MT|FICTION
PU|G.P. Putnam & Sons
DP|1986
ED|First Printing.
BD|Hard Cover
NT|0399132104
KE|MAFIA
KE|FICTION
PR|44.9
XA|4
XB|1
XC|BO
XD|S
UR|10
AA|Gariepy, Henry
TI|Portraits of Perseverance
CN|Good/No Jacket
MT|SOLD
PU|Victor Books
DP|1989
BD|Mass Market Paperback
NT|1989 tpb g 100 meditations from the Book of Job "This book...help you
NT| persevere through the struggles of your life..."
KE|Bible
KE|religion
KE|Job
KE|meditations
PR|28.4
XA|4
XB|5
XC|BO
XD|S
Questo è un esempio di due voci, separate da una riga vuota. Vorrei dividere questo grande file in file più piccoli senza interrompere una voce in due file.
Ogni singola voce è separata da una nuova riga (una riga completamente vuota) nel file. Desidero suddividere questo file da 8,7 milioni in 15 file. Capisco che split
esistono strumenti come questi, ma non sono del tutto sicuro di come dividere il file ma lo ho solo diviso su una nuova riga in modo che una singola voce non venga suddivisa in più file.
|
(come UR
, AA
, TI
) rilevanti per il conteggio dei file, anche lo stesso per l'esattezza?
csplit
esiste anche.