{"id":675,"date":"2013-10-17T11:41:45","date_gmt":"2013-10-17T18:41:45","guid":{"rendered":"http:\/\/galencharlton.com\/blog\/?p=675"},"modified":"2013-10-17T11:41:45","modified_gmt":"2013-10-17T18:41:45","slug":"introducing-the-next-new-marc-editor-vim","status":"publish","type":"post","link":"https:\/\/galencharlton.com\/blog\/2013\/10\/introducing-the-next-new-marc-editor-vim\/","title":{"rendered":"Introducing the next new MARC editor, vim"},"content":{"rendered":"<p>Sometimes an idea that&#8217;s been staring you in the face has to jump up and down and wave its hands to get attention.<\/p>\n<p>I was working with Katrin Fischer, Koha&#8217;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&#8217;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, <code>vim<\/code> makes a perfectly good basic MARC editor.<\/p>\n<p>Here&#8217;s how &#8212; if you start with a file of MARC records, you can convert them to a text file using <code>yaz-marcdump<\/code>:<\/p>\n<pre>\r\nyaz-marcdump records.mrc > records.txt\r\n<\/pre>\n<p>The resulting text file will look something like this:<\/p>\n<pre>\r\n01453cx  a22003253  4500\r\n001 412\r\n005 20130407182653.0\r\n009 026380498\r\n035    $a 027861902 $9 xxx\r\n035    $a frBN000018685\r\n035    $a frBN002192923\r\n035    $a FRBNF118639177\r\n100    $a 20130407 frey50\r\n101    $a fre\r\n102    $a FR\r\n103    $a  1879\r\n106    $a 0 $b 1 $c 0\r\n150    $a a\r\n152    $a AFNOR $b CO\r\n210 01 $7 ba0yba0y $9 0 $a France $b Direction des monnaies et m\u00e9dailles\r\n340    $7 ba0yba0y $a 11 Quai de Conti, 75270 Paris Cedex 06\r\n410 01 $7 ba0yba0y $9 # $a France $b Administration des monnaies et m\u00e9dailles\r\n410 01 $7 ba0yba0y $9 # $a France $b Minist\u00e8re de l'\u00e9conomie, des finances et du budget $c 1984-1986 $b Direction des monnaies et m\u00e9dailles\r\n<\/pre>\n<p>To edit the records on the command line, you can use <code>vim<\/code> (or whatever your favorite text editor is).  When you&#8217;re done, to convert them back to MARC, use<\/p>\n<pre>\r\nyaz-marcdump -i line -o marc records.txt > edited-records.mrc\r\n<\/pre>\n<p>To avoid mangling special characters, it&#8217;s helpful to use UTF8 as the character encoding.  <code>yaz-marcdump<\/code> 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:<\/p>\n<pre>\r\nyaz-marcdump -f marc8 -t utf8 records.mrc > records.txt\r\n<\/pre>\n<p>Not particularly profound, perhaps &#8212; and the title of this post is a bit tongue-in-cheek &#8212; but I know that this technique will save me a bit of time.<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-675\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2013\/10\/introducing-the-next-new-marc-editor-vim\/?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\"><span>Twitter<\/span><\/a><\/li><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>More<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-tumblr\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-tumblr sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2013\/10\/introducing-the-next-new-marc-editor-vim\/?share=tumblr\" target=\"_blank\" title=\"Click to share on Tumblr\"><span>Tumblr<\/span><\/a><\/li><li class=\"share-reddit\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-reddit sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2013\/10\/introducing-the-next-new-marc-editor-vim\/?share=reddit\" target=\"_blank\" title=\"Click to share on Reddit\"><span>Reddit<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2013\/10\/introducing-the-next-new-marc-editor-vim\/\" target=\"_blank\" title=\"Click to print\"><span>Print<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Sometimes an idea that&#8217;s been staring you in the face has to jump up and down and wave its hands to get attention. I was&#8230;<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-675\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2013\/10\/introducing-the-next-new-marc-editor-vim\/?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\"><span>Twitter<\/span><\/a><\/li><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>More<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-tumblr\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-tumblr sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2013\/10\/introducing-the-next-new-marc-editor-vim\/?share=tumblr\" target=\"_blank\" title=\"Click to share on Tumblr\"><span>Tumblr<\/span><\/a><\/li><li class=\"share-reddit\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-reddit sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2013\/10\/introducing-the-next-new-marc-editor-vim\/?share=reddit\" target=\"_blank\" title=\"Click to share on Reddit\"><span>Reddit<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2013\/10\/introducing-the-next-new-marc-editor-vim\/\" target=\"_blank\" title=\"Click to print\"><span>Print<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"Introducing the next new MARC editor, vim #kohacon13","jetpack_is_tweetstorm":false},"categories":[4,10],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3gJ9y-aT","_links":{"self":[{"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/posts\/675"}],"collection":[{"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/comments?post=675"}],"version-history":[{"count":3,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/posts\/675\/revisions"}],"predecessor-version":[{"id":678,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/posts\/675\/revisions\/678"}],"wp:attachment":[{"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/media?parent=675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/categories?post=675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/tags?post=675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}