On Mon, Jan 25, 2010 at 11:48:47PM +0530, Saiful Amin wrote:
> I also recommend using MARC::Batch. Attached is a simple script I wrote for
> myself.
I think MARC::Batch would be very slow to split lot of records. As 0x1d
is your record separator, a perl oneliner can do the job:
http://www.tinybox.net/2009/10/12/perl-onliners-vim-and-iso2709/
perl -0x1d -wnE '
# new file every 1000 records
$. == 1 || ! ($. % 1000 )
# with record number padded with 5 chars
and open F,sprintf ">records_%.5d.mrc",$.;
# actually prints the record
print F
' bigfile.mrc
if you file is UTF-8 encoded, use -CSD flags
hope it helps
regards
--
Marc Chantreux
BibLibre, expert en logiciels libres pour l'info-doc
http://biblibre.com
|