sed - how to do regex groups using sed

Viewed 73016

Is there anyway you can do regex match group using sed like java regex pattern/match/group?

if i have string like

test-artifact-201251-balbal-0.1-SNAPSHOT.jar

how do I use sed just to get the result like:

test-artifact-0.1-SNASHOT.jar

I am wondering does sed allow you to do something like java regex, you define the pattern like:

([a-z]*-[a-z]*-)([0-9]*-)([a-z]*-)([.]*SNAPSHOT.jar)

and then you can get the results as an array like:

test-artifact-
201251-
balbal-
0.1-SNAPSHOT.jar
4 Answers

If you are searching for an easier way I guess this might be of your help! :)

echo "est-artifact-201251-balbal-0.1-SNAPSHOT.jar" | cut -d- -f1,2,5,6

"-" used as delimeter and fields 1,2,5,6 are printed.

Note: This would require you to know the exact position of the field.

Related