Using MarcEdit to Populate (Sub)fields Using Data from Fixed Fields

Was supposed to post this last week, but didn’t actually have time. Big thanks to Terry Reese (MarcEdit developer) who helped me over twitter of all things. While not the most complicated, I just couldn’t find any documentation on this, so here it is.
UPDATE (March 19, 2015): Looks like the update is already out with version 6.0, so now you should be able to do it with just the “future process”.

Use Case

In my case, I wanted to populate the language in 041$a if it didn’t already exist. Very easy to do with the //Add Field// function if you know that your records are all in one language, but what if you don’t? Or what if it’s a multilingual set?

Since the 3-letter language code already appears in the 008 fixed field, character 35-37, why not use this to populate 041$a?

Process

Step 1

Copy Field: 008 to 041

Step 2

Use the Find/Replace function

  • Find: (=041.{6})(.{35})(.{3})(.*)
  • Replace: $1$3
  • Check use regular expressions

If Field Exist

If unlike my case, the 041 already exist and you want to replace it, use the Edit Subfield Tool.

  • Field: 008
  • Position: 35:3
  • Find: [blank]
  • Replace: 041|[subfield to place data]|| e.g. 041|a||

Future Process?

At first, Terry suggested using the Swap function, setting the Source Field to 008, subfield to: 35:3 and swap to 041$a, but

So, oversight noted, hopefully it’ll be simpler once MarcEdit is updated to make this work in one step instead of two.

Resource

This work is based on doing the opposite process in MarcEdit, populating fixed field using data from another field, which Terry posted about.

One thought on “Using MarcEdit to Populate (Sub)fields Using Data from Fixed Fields”

Comments are closed.