電話番号データを保持するファイルと、いくつかの役に立たないものがあります。番号を解析しようとしていますが、電話番号/回線が1つしかない場合は問題ありません。しかし、複数の番号がある場合、sed は最後の番号に一致し (最初のパターンにのみ一致する必要があるとどこでも言いますが?)、他の番号を取得できません..
私のdata.txt:
bla bla bla NUM:09011111111 bla bla bla bla NUM:08022222222 bla bla bla
データを解析するとき、私の考えは、最初の電話番号の前にあるすべての「最初の」「bla bla bla」を最初に削除することでした (そのため、「NUM:」の最初の出現を検索します)。次に、すべてのものを削除します。電話番号の後に、番号を取得します。その後、残りの文字列から次の出現を解析したいと思います。
そのため、sed を実行しようとすると、常に行の最後の番号が取得されます。
>sed 's/.*NUM://' data.txt
08022222222 bla bla bla
>
主に、SED に関する私の理解の何が問題なのかを理解したいと思います。もちろん、より効率的な提案も大歓迎です!私のsedコマンドは、「NUM:」の前のすべてのものを「」(空)に置き換えるとは言いませんか?常に最後のオカレンスに一致するのはなぜですか?
ありがとう!