<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000">Hi Mark,<br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000"> <br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000">Actually, "\s" is a single space in a replacement string too, like in a search string. Almost all the escaped codings are quite fine in the
replacement string too, though not nearly as many are needed there than are needed in the search string.</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000"> <br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000">Thanks for your other thoughts too. I did figure out the problem, and in my main reply (to myself), you'll see a detailed explanation.<br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:#000000"> <br clear="all"></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><span style="font-family:verdana,sans-serif"><font size="2">Hartmut W Sager - Tel +1-204-339-8331<br></font></span><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 4 Jan 2020 at 10:58, Mark Campbell <<a href="mailto:nitrodist@gmail.com">nitrodist@gmail.com</a>> 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">I don't think you can use \s in the replacement regex as it has no special meaning there. In my local testing with perl, it seems to treat it as a literal escape for the letter s. What tool are you using to run the regex?<div><br></div><div>Substitute in a space, seems to work as expected:<div><br></div><div>2020-01-04 10:45:30 ~ TOR-M001 %: ccat test | perl -pe 's/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+([0-9])[\s\,]+/\1 0\2 /'<br>From AncientBBS1 Thu Jan 07 1986 20:50:00<br>2020-01-04 10:45:35 ~ TOR-M001 %: ccat test<br>From AncientBBS1 Thu Jan 7, 1986 20:50:00</div></div><div><br></div><div>What might be easier (and more readable) is if each line has a fixed length from the beginning, you can match perhaps a little more clearly by doing something like s/^(.{23}) (\d),/\1 0\2/ if I'm understanding what you want to do (prepend 0s to dates and remove the comma).</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jan 4, 2020 at 10:27 AM Hartmut W Sager <<a href="mailto:hwsager@marityme.net" target="_blank">hwsager@marityme.net</a>> 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"><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">This might be the wrong time of night for doing regex (i.e., my mistake), or my trusty Vedit text editor has a bug in its regex implementation.<br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"> <br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">Original search string: ^(From AncientBBS[1-2])\s+(Sun|Mon|Tue|Wed|Thu|Fri|Sat)[\s\,]+(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+([0-9][0-9]|\s[0-9])[\s\,]+(19[0-9][0-9])[\s\,]+([0-9][0-9]\:[0-9][0-9]\:[0-9][0-9])\s*$</div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">Replacement string: <Nah, skip it><br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"> <br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">The above search string gives a syntax error. I am a bit suspicious of the
([0-9][0-9]|\s[0-9]) group re operator precedence of the "or", and proceeded to stepwise simplification to narrow it down. I finally got down to:</div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"> <br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">Search string: (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+([0-9])[\s\,]+</div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">
Replacement string:
\1\s0\2\s</div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"> <br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">The new search works fine (as did some of the previous
stepwise simplified ones), but the replacements are baffling me.</div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">The line<br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">From AncientBBS1 Thu Jan 2, 1986 20:50:00</div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">gets changed to<br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">From AncientBBS1 Thu 02 1986 20:50:00</div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"> <br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">I.e., the variable \1 seems to get lost. In my previous stepwise simplified cases, multiple variables got lost when the search worked at all.<br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"> <br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)">Why am I doing this? I need to massage some old BBS messages into the retarded mbox format, whose date format (on the "From " line) of "Tue Nov 05 19:02:00 1985" is particularly illogical. Be that as it may, The two sources of these messages I am processing had further sloppiness in their dates, done by some ancient BBS bozos. I did successfully fix a lot of that already with regex.<br></div><div style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"> <br></div><span style="font-family:verdana,sans-serif"><font size="2">Hartmut W Sager - Tel +1-204-339-8331</font></span><br><span style="font-family:verdana,sans-serif"></span><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
Roundtable mailing list<br>
<a href="mailto:Roundtable@muug.ca" target="_blank">Roundtable@muug.ca</a><br>
<a href="https://muug.ca/mailman/listinfo/roundtable" rel="noreferrer" target="_blank">https://muug.ca/mailman/listinfo/roundtable</a><br>
</blockquote></div>
_______________________________________________<br>
Roundtable mailing list<br>
<a href="mailto:Roundtable@muug.ca" target="_blank">Roundtable@muug.ca</a><br>
<a href="https://muug.ca/mailman/listinfo/roundtable" rel="noreferrer" target="_blank">https://muug.ca/mailman/listinfo/roundtable</a><br>
</blockquote></div></div>