<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yiv5611191599"><div id="yui_3_16_0_ym19_1_1473510453827_3591"><div id="yui_3_16_0_ym19_1_1473510453827_3590" style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8763">Hi all,</div><div id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8764"><br clear="none"></div><div id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8765">It was a great meeting.  We seem to average about 30+ people for an SGVLUG meeting, even when we don't go out of our way to advertise it.</div><div id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8766"><br clear="none"></div><div id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8767">We ended up starting after 8pm, because I came pretty late, and we were all in socializing mode.  The table setup was not bad, except that we have now established that the projector needs to be 7-8 feet away from the screen.  Our server is named Lyn, though I have the impression that there were other servers involved in taking orders.<br clear="none"></div><div id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8768"><br clear="none"></div><span id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_9008">Joel gave a wonderful survey of text processing command line tools.  I strongly encouraged him to submit to SCALE.</span><div id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_9009"><br clear="none"></div><div dir="ltr" id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_9010">I almost immediately used one of the utilities he mentioned at work.  The nl utility does line numbering and has several options.  The option I used today was to have it number my output only if it matched a regular expression.  This enables me to get a numbered list, without having the numbering start at the header text.</div><div dir="ltr" id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_9011"><br clear="none"></div><div dir="ltr" id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_9012"><div id="yui_3_16_0_ym19_1_1473510453827_4531" dir="ltr">I used the nl -b p<regex> option, as all the lines I was numbering had a string I could match.<br></div></div><div dir="ltr" id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_9013"><br clear="none"><span></span></div><div><span></span></div><div class="yiv5611191599qtdSeparateBR" id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8849"><div id="yui_3_16_0_ym19_1_1473510453827_4585">Lan<br></div><br clear="none"></div><div class="yiv5611191599yqt1789745281" id="yiv5611191599yqt87618"></div></div></div></div><div id="yui_3_16_0_ym19_1_1473510453827_3872" class=".yiv5611191599yahoo_quoted">  <div id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8854" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8853" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div dir="ltr" id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8852"> <font id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8851" face="Arial" size="2"> </font><hr id="yiv5611191599yui_3_16_0_ym19_1_1473418209683_8850" size="1"> <b><span style="font-weight:bold;">From:</span></b> Lan Dang via SGVLUG <sgvlug@sgvlug.net><br clear="none"> <b><span style="font-weight:bold;">To:</span></b> SGVLUG Discussion List. <sgvlug@sgvlug.net> <br clear="none"> <b><span style="font-weight:bold;">Sent:</span></b> Wednesday, September 7, 2016 2:49 AM<br clear="none"> <b><span style="font-weight:bold;">Subject:</span></b> [SGVLUG] SGVLUG this Thursday 9/8: Text Processing at the Linux       Command Line<br clear="none">  </div> <div id="yui_3_16_0_ym19_1_1473510453827_3871" class="yiv5611191599y_msg_container"><br clear="none"><br clear="none"><br clear="none">Hi all,<br clear="none"><br clear="none"><br clear="none">Remember -- dinner at 7pm, presentation at 8pm. Parking can be annoying around that hour so come a little early.<br clear="none"><br clear="none"><br clear="none"><a id="yui_3_16_0_ym19_1_1473510453827_4684" rel="nofollow" shape="rect" target="_blank" href="http://www.meetup.com/SGVTech/events/233145950/">http://www.meetup.com/SGVTech/events/233145950/</a><br clear="none"><br clear="none">TOPIC: Text Processing at the Linux Command LinePRESENTER: Joel Steres<br clear="none">LOCATION: Du-Par's Restaurant and Bakery<br clear="none"><br clear="none">214 S Lake Ave, Pasadena, CA<br clear="none"><br clear="none"><br clear="none">ABSTRACT:<br clear="none"><br clear="none"><br clear="none">Text is everywhere but not always in a useful form. On any given day we encounter dozens or hundreds of data formats. Some formats are focused on presentation while others focus on structure at the expense of presentation. Many times the information we need has to be found, disentangled and manipulated before it is useful. The easier we can navigate across these boundaries, the more freedom we have to find new uses and insights.<br clear="none"><br clear="none">Linux offers a rich array of commands and tools for text processing at the command line. This talk proposes a classification for different types of command line processing tasks and then explores some of the common tools available within each category. Many of these tools have a host of options. Some useful but lesser known options will be highlighted. The tools will then be applied to a number of examples covering data extraction, processing and presentation.<br clear="none"><br clear="none"><br clear="none">BIO:<br clear="none"><br clear="none">Joel Steres spends most of his time at the command prompt. He is still amazed at how small specialized building blocks can be combined to achieve big results.<br clear="none"><br clear="none"><br clear="none">Lan<br clear="none"><br clear="none"><br clear="none"><br clear="none"></div> </div> </div>  </div></div></body></html>