[NTG-context] Windows 10, TeXLive 2016, and grep

Br. Samuel Springuel rpspringuel at gmail.com
Sat Aug 20 03:08:17 CEST 2016

I'm looking particularly for the `-m #` (return only first # matches) 
and `-o` (return only the portion of the line which matches), with the 
latter being more important than the former.

I have a line in a Unix script (where I can expect standard grep to be 
available) which looks like this:

grep -m 1 'GREGORIO_VERSION' $loc | grep -o 
'[0-9]*\.[0-9]*\.[0-9]*-*[betarc]*[0-9]*' >> $OUTPUT 2>&1

Basically the script is supposed to identify which version of a file in 
our package is a person has.  To do this it looks for the first line in 
a file ($loc) which is marked as containing the version number (by 
looking for the text of the comment which we use to mark those lines for 
scripting purposes) and then extract the version number from that line 
(by looking for the pattern which the version number follows).

In Windows, I can do the first part of this command with `findstr` (a 
native command which has similar, but not identical, functionality to 
grep, but cannot do the second at all.  My current work around is to use 
the characters which precede and follow the version number to trim the 
string, but this requires me to have repetitive code because not all the 
files in our package use the same delimiting characters.  What I 
accomplish in one `for` loop in the Unix version (looping over a list of 
the files in our package), I need three loops to do in Windows (breaking 
the list up by the delimiting characters).  Having `mtxrun -script grep` 
support the `-o` option would enable me to consolidate and simplify the 
Br. Samuel, OSB
St. Anselm’s Abbey
Washington, DC
(R. Padraic Springuel)


More information about the ntg-context mailing list