<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; } @font-face { font-family: "Cambria Math"; } @font-face { font-family: Calibri; } p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; } a:link, span.MsoHyperlink { color: rgb(5, 99, 193); text-decoration: underline; } a:visited, span.MsoHyperlinkFollowed { color: rgb(149, 79, 114); text-decoration: underline; } span.E-MailFormatvorlage17 { font-family: Calibri, sans-serif; color: windowtext; } .MsoChpDefault { font-family: Calibri, sans-serif; } @page WordSection1 { margin: 72pt; } div.WordSection1 { }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>You can do a cut and past on every field and do the renaming:<br>
</p>
<p><br>
</p>
<p># For each marc field...<br>
</p>
<div>do marc_each()<br>
</div>
<div>   # Cut the field into tmp..<br>
</div>
<div>   marc_cut(***,tmp)<br>
</div>
<div><br>
</div>
<div>   # Rename every 1 subfield to 0  <br>
</div>
<div>   rename(tmp.*.subfields.*,1,0)<br>
</div>
<div><br>
</div>
<div>   # And paste it back<br>
</div>
<div>   marc_paste(tmp)</div>
<div>end<br>
</div>
<div><br>
</div>
<div>The `rename` fix allows regexes so you can replace '1' with any regex you like.<br>
</div>
<div><br>
</div>
<div>Cheers<br>
</div>
<div>Patrick<br>
</div>
<p><br>
</p>
<div style="color: rgb(33, 33, 33);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> librecat-dev-bounces@lists.uni-bielefeld.de <librecat-dev-bounces@lists.uni-bielefeld.de> on behalf of Schihin Oliver <Oliver.Schihin@zhbluzern.ch><br>
<b>Sent:</b> Thursday, July 20, 2017 10:46 AM<br>
<b>To:</b> librecat-dev@lists.uni-bielefeld.de<br>
<b>Subject:</b> [librecat-dev] marc_rename</font>
<div> <br>
</div>
</div>
<div>
<div class="WordSection1">
<p class="MsoNormal">Hi</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span lang="EN-US">Is there an easy way to rename MARC subfield codes (not values) according to a regex condition? I am sure someone has an easy trick I just can’t find.
</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Case: Due to ALEPH internals, subfields holding identifiers are $1, not $0 as in the standard. I should change these in a conversion (MARC to MARC).</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Idea: </span></p>
<p class="MsoNormal"><span lang="EN-US">```</span></p>
<p class="MsoNormal"><span lang="EN-US">marc_cut(…1,tmp,equal:’regexthatmatchesidentifiers’)</span></p>
<p class="MsoNormal"><span lang="EN-US">rename(tmp, ‘1’, ‘0’)</span></p>
<p class="MsoNormal"><span lang="EN-US">marc_paste(tmp)</span></p>
<p class="MsoNormal"><span lang="EN-US">```</span></p>
<p class="MsoNormal"><span lang="EN-US">Downside is the positioning of the pasting, even with the at: parameter.</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Ideal would be a fix like ‘marc_rename’ that allows for a selection with a regex.</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks for hints</span></p>
<p class="MsoNormal"><span lang="EN-US">Oliver</span><span lang="EN-US" style="font-size:10.0pt; font-family:"Arial",sans-serif; color:blue"></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
</div>
</div>
</div>
</body>
</html>