2017-04-19 20 views
0

では動作しませんなぜ私はあなたの意図についてregex2sedの正規表現アドレス範囲

しかしseq 1 10 | sed -n '/1/,/5/p' 出力 1 2 3 4 5 10 ない 1 2 3 4 5 なぜ

+0

'10'は'/1/'と一致します。あなたは 'sed -n '/ \ <1\> /、/ \ <5\>/p''を使って数字を単語全体にマッチさせることができます。または 'sed -n '/^1 $ /、/^5 $/p''を文字列全体にマッチさせます。 –

+0

それは5をマッチングするときに止まらないのですか?1をもう一度計算し始めると出力が10になります –

答えて

1

をmathingするマッチングregex1からのラインを印刷するSEDたい、それがなければなりませんbe:

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

/1/はm atchだけでなく、1だけでなく、10(または1を含む任意の行)