2017-04-19 3 views
0

Ich möchte sed Zeilen aus drucken regex1 passend regex2warum sed mit regex Adressbereich nicht funktionieren

aber seq 1 10 | sed -n '/1/,/5/p' Ausgang 1 2 3 4 5 10 nicht 1 2 3 4 5 warum

+0

'10' Übereinstimmungen'/1/'. Sie können 'sed -n '/ \ <1\> /,/\ <5\>/p'' verwenden, um die Zahlen als ganze Wörter abzugleichen. Oder 'sed -n '/^1 $ /,/^ 5 $/p'', um sie als ganze Saiten abzugleichen. –

+0

Ist das sed nicht zu stoppen, wenn Matching 5, es beginnt mathing 1 wieder, so bekam 10 in der Ausgabe –

Antwort

1

Für Ihre Absicht zu mathing, sollte es sein:

seq 1 10 | sed -n '/^1$/,/^5$/p' 

In Ihrem Fall /1/ würde m atch nicht nur 1, sondern auch 10 (oder für jede Zeile mit 1)