Sometimes an idea that’s been staring you in the face has to jump up and down and wave its hands to get attention.
I was working with Katrin Fischer, Koha’s QA manager, who had just finished putting together a fresh Koha testing environment on her laptop so that she can do patch review during KohaCon’s hackfest. She mentioned wishing that something like MarcEdit were on her laptop so that she could quickly edit some records for testing. While MarcEdit could be run under WINE or Mono or in a Windows virtual machine, inspiration struck me: with a little help,
vim makes a perfectly good basic MARC editor.
Here’s how — if you start with a file of MARC records, you can convert them to a text file using
yaz-marcdump records.mrc > records.txt
The resulting text file will look something like this:
01453cx a22003253 4500
035 $a 027861902 $9 xxx
035 $a frBN000018685
035 $a frBN002192923
035 $a FRBNF118639177
100 $a 20130407 frey50
101 $a fre
102 $a FR
103 $a 1879
106 $a 0 $b 1 $c 0
150 $a a
152 $a AFNOR $b CO
210 01 $7 ba0yba0y $9 0 $a France $b Direction des monnaies et médailles
340 $7 ba0yba0y $a 11 Quai de Conti, 75270 Paris Cedex 06
410 01 $7 ba0yba0y $9 # $a France $b Administration des monnaies et médailles
410 01 $7 ba0yba0y $9 # $a France $b Ministère de l'économie, des finances et du budget $c 1984-1986 $b Direction des monnaies et médailles
To edit the records on the command line, you can use
vim (or whatever your favorite text editor is). When you’re done, to convert them back to MARC, use
yaz-marcdump -i line -o marc records.txt > edited-records.mrc
To avoid mangling special characters, it’s helpful to use UTF8 as the character encoding.
yaz-marcdump can also be used to convert a MARC file to UTF8. For example, if the original MARC file uses the MARC-8 encoding, you could do:
yaz-marcdump -f marc8 -t utf8 records.mrc > records.txt
Not particularly profound, perhaps — and the title of this post is a bit tongue-in-cheek — but I know that this technique will save me a bit of time.