<div dir="ltr"><div>Maxwell,</div><div><br></div><div>If you install the Python bindings to the Sword library, you can use the library&#39;s extensive parsing information as well as its knowledge of locales. A very simple Python script[0] will iterate all lines of input (you can give it a list of file arguments, you can pipe the output of a different program to it, you can write the lines in manually from stdin) and parse them. Doing exactly this work was impetus to get the bindings fixed up and compiling again some years back when converting references by external means was awfully slow for another member of this list. Using the bindings like this became nearly fool-proof and brought down the amount of time required to execute from unbearably long periods to under a second.</div><div><br></div><div>--Greg<br></div><div><br></div><div>[0] <a href="https://gist.github.com/greg-hellings/0de55fc3e07d5014f005efc12ffbdffa">https://gist.github.com/greg-hellings/0de55fc3e07d5014f005efc12ffbdffa</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 4, 2020 at 11:28 AM Maxwell Murunga &lt;<a href="mailto:maxmmur@gmail.com">maxmmur@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:rgb(37,37,37);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><font face="arial, sans-serif">Thank you </font></span>Dominique; <span style="font-family:arial,sans-serif;color:rgb(37,37,37)">Thanks Cyrille; Thanks Greg.</span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:rgb(37,37,37);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><font face="arial, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:rgb(37,37,37);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><font face="arial, sans-serif"># “Additional” steps to get the awk script </font></span></p><p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:rgb(37,37,37);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><font face="arial, sans-serif"># working
fine on macOS as it does on Linux</font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif">$ brew install gawk</font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><font style="background-color:rgb(255,255,255)" face="arial, sans-serif" color="#000000"># If Terminal Throws Error</font></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="background-color:rgb(255,255,255)"><font face="arial, sans-serif" color="#000000">$ <span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">brew unlink
awk</span></font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><font style="background-color:rgb(255,255,255)" face="arial, sans-serif" color="#000000">$ <span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">brew link --overwrite gawk</span><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"></span></font></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:rgb(37,37,37);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><font face="arial, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:rgb(37,37,37);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><font face="arial, sans-serif"># Confirm all went well!</font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif">$ gawk --version</font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif"># Now proceed as normal</font></span></p><p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif"># Make the
executable</font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif">$ chmod +x Ref2Osis.sh</font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif"># Thereafter, run it</font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif">$ ./Ref2Osis.sh</font></span></p><p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif"><br></font></span></p><p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif">Works Perfect. </font></span></p><p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:black"><font face="arial, sans-serif"><br></font></span></p><p class="MsoNormal" style="margin:0in 0in 0.0001pt">Blessed [be] the LORD God of Israel from everlasting, and to everlasting. Amen, and Amen. <br></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:rgb(37,37,37);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><font face="arial, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt"><span style="color:rgb(37,37,37);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><font face="arial, sans-serif">~~Shalom.</font></span></p></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Feb 2, 2020 at 3:39 AM Cyrille &lt;<a href="mailto:lafricain79@gmail.com" target="_blank">lafricain79@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    What are you doing exactly? If you try to convert the ref to osisRef
    Dominique wrote an awk script which works pretty good.<br>
    See the attached file.<br>
    <br>
    <div>Le 01/02/2020 à 18:06, Maxwell Murunga
      a écrit :<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr"><span style="background-color:rgb(255,255,255)"><font face="tahoma, sans-serif" color="#000000">Greetings
            Saints,</font></span>
        <div><font face="tahoma, sans-serif" color="#000000"><span style="background-color:rgb(255,255,255)"><br>
            </span></font>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000">I&#39;m processing
              an OSIS Commentary in InDesign using GREP:<br>
            </font></div>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000"><br>
            </font></div>
          <div><font style="background-color:rgb(255,255,255)" face="monospace" color="#000000"><b>Find: </b>((\d+
              )?(\w+?.? \d+[:]\d+)(.\d+)?([, \d]+(.\d+)?)*)</font></div>
          <div><font style="background-color:rgb(255,255,255)" face="monospace" color="#000000"><b>Replace:</b> &lt;reference
              osisRef=&quot;$1&quot;&gt;$1&lt;/reference&gt;</font></div>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000"><br>
            </font></div>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000">It partially
              accomplishes the task, but does not automatically convert
              the book names to the standard OSIS abbreviations. I also
              need help in figuring out how to add looking for Arabic
              and Roman numerals (1-2 instances of the letter &quot;I&quot;; or
              simply &quot;1&quot; or &quot;2&quot; ) to cover instances of something like I
              Corinthians or II Corinthians; 1 Corinthians or 2
              Corinthians.</font></div>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000"><br>
            </font></div>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000">Could anyone be
              so kind enough as to provide a <b>grep</b> or <b>sed</b>
              script to <span style="font-weight:bold;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">auto</span> convert
              any kind of Bible <span style="font-weight:bold;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">reference</span> into
              this format:<br>
            </font></div>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000"><br>
              &lt;<span style="font-weight:bold;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">reference</span> osisRef=&quot;Gen.1.1&quot;&gt;Genesis
              1:1&lt;/<span style="font-weight:bold;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">reference</span>&gt;<br>
            </font></div>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000">&lt;<span style="font-weight:bold;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">reference</span> osisRef=&quot;2Chr.1.1&quot;&gt;2 Chronicles 1:1&lt;/<span style="font-weight:bold;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">reference</span>&gt;</font></div>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000">&lt;<span style="font-weight:bold;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">reference</span> osisRef=&quot;2Chr.1.1&quot;&gt;II
              Chronicles 1:1&lt;/<span style="font-weight:bold;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">reference</span>&gt;<br>
              <br>
            </font></div>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000">In Christ Alone,<br>
            </font></div>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000"><br>
            </font></div>
          <div><font style="background-color:rgb(255,255,255)" face="tahoma, sans-serif" color="#000000">Maxwell.</font></div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
    </blockquote>
    <br>
  </div>

</blockquote></div>
_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page</blockquote></div>