* if it's a better solution, i will put my files(converted in iso2709) on dropbox,
*the goal is to join properly items with biblio records. As we have to separate files, it's a bit hard. With MarcEdit, if i merge these two files, it's limited: marcedit doesn't understand that one biblio record can have more than one item :-). I won't say any more about my library and his exotical old ils i've moved for koha. 2013/1/20 Marc Chantreux <m...@unistra.fr> > hello, > > Just 2 notes about your attached content: > > * please don't do that on mailing list: it's unsolicited content. > provide download urls instead. > * those are not marc files so the exemples given below don't work as > long as you haven't translated it to iso2709. > > On Sun, Jan 20, 2013 at 03:54:18PM +0100, samuel desseaux wrote: > > Hi, > > > > I work on files for our library and i need some help. > > > > I have one file with all biblio records and one with items. A biblio > record > > can have one or more than one item. > > > > First operation: i want to compare the two files and the identifier is > the > > field 001. I want to have th results in two separates files > > > > 1st: all the items which have the same 001 field like in the biblio > record > > > > 2nd: all the items which have not the same 001 field like in the biblio > > record > > not tested but here is a good base: > > use Modern::Perl; > use autodie; > use MARC::MIR; > > my %biblio; > my %report; > map { open $report{$_},">$_.matches.txt" } qw< do dont >; > > marawk { $biblio{(record_id)}=1 } 'biblio.mrc'; > marawk { > my $id = record_id; > my $as = $biblio_id{ $to } ? 'do' : 'dont'; > say $report{$as}, $id; > } 'items.mrc'; > > > > Second operation: In my item files, all items of a same biblio record > have > > the same 001 field but they are all separated. I'd like to join all the > > items under only one 001 field > > a) be carefull: it will load the whole file in memory > b) not tested :) > > use Modern::Perl; > use autodie; > use MARC::MIR; > > my %items_for; > marawk { push @ { $items_for{(record_id)} } , $_ } 'items.mrc'; > > open my $fh,'>sorted.items.mrc'; > map { map {print $fh to_iso2709} @$_ } values %items_for; > > > After, with the new file, i want to merge with biblio record and if i > find > > 2 identical 001, i attached the items on the biblio record > > i don't get it. you want to merge item records and biblio record? > > > Third operation: how can i correct some data bad encoded. It's due to the > > old database which doesn't respect UTF8. > > i see no problem in the provided content. > > regards > marc >