On Thu, May 12, 2011 at 11:58:07AM -0400, Nolte, Jennifer wrote: > I am working on a shell script that will process the MARC records that > represent items from our e-serials management database, and the thing > I am stuck on is adding brand new 006 and 007 fixed field tags to each > record. I am using the marcedit.pl fieldaddtobeg function, but it > corrupts the records and makes them unparseable. > > Is there a quick and easy way to do this within a script? (I know Perl > works best with MARC but I am open to any suggestions).
I've written a bunch of MARC manipulation scripts meant to be used at the command line or in shell scripts; appending 006 and 007 fields would go something like this: $ f006='e bd...' $ f007='aj cafua' $ marcappend 006 [ $f006 ] 007 [ $f007 ] < $file | marcgroom -0 It should be pretty obvious what marcappend does; marcgroom reorders fields within a group (-0 to reorder 0xx fields, -1 to reorder 1xx fields, etc.). Holler if you're interested. These two particular scripts only depend on Getopt::Long -- I wrote them at a time when I preferred to include MARC record parsing code in each script rather than using MARC::Record or some such. Paul. -- (Insert cute and/or geeky .sig here)