sed: Nur passende Gruppe drucken

Möchte ich zu greifen, die letzten zwei zahlen (int, float, gefolgt von optionalen Leerzeichen) und nur drucken.

Beispiel:

foo bar <foo> bla 1 2 3.4

Drucken:

2 3.4

Bisher habe ich die folgenden:

sed -n  's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/replacement/p' 

mir

foo bar <foo> bla 1 replacement

Allerdings, wenn ich versuche, Sie zu ersetzen mit der Gruppe 1, die ganze Zeile wird gedruckt.

sed -n  's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/\1/p' 

Wie kann ich drucken Sie nur den Abschnitt der Linie entspricht der regex in der Gruppe?

InformationsquelleAutor der Frage mort | 2013-07-07

Schreibe einen Kommentar