Best way to parse this particular string using awk / sed?

Posted by Jack on Stack Overflow See other posts from Stack Overflow or by Jack
Published on 2011-01-30T23:20:47Z Indexed on 2011/01/30 23:25 UTC
Read the original article Hit count: 173

Filed under:
|
|

Hi, I need to get a particular version string from a file (call it version.lst) and use it to compare another in a shell script. For example sake, the file contains lines that look like this:

V1.000 -- build date and other info here -- APP1
V1.000 -- build date and other info here -- APP2
V1.500 -- build date and other info here -- APP3

.. and so on. Let's say I am trying to grab the first version (in this case, V1.000) from APP1. Obviously, the versions can change and I want this to be dynamic. What I have right now works:

var = `cat version.lst | grep " -- APP1" | grep -Eo V[0-9].[0-9]{3}`

Pipe to grep will get the line containing APP1 and the second pipe to grep will get the version string. However, I hear grep is not the way to do this so I'd like to learn the best way using awk or sed. Any ideas? I am new to both and haven't found a tutorial easy enough to learn the syntax of it. Do they support egrep? Thanks!

© Stack Overflow or respective owner

Related posts about sed

Related posts about awk