У меня есть файл, содержащий данные телефонного номера, а также некоторые бесполезные вещи. Я пытаюсь разобрать цифры, и когда есть только 1 номер телефона/линии, это не проблема. Но когда у меня есть несколько номеров, sed соответствует последнему (хотя везде он говорит, что он должен соответствовать только совпадению первого шаблона?), И я не могу получить другие номера.
Мой data.txt:
bla bla bla NUM:09011111111 bla bla bla bla NUM:08022222222 bla bla bla
Когда я анализирую данные, моя идея была сначала удалить все "начальные" "bla bla bla" перед первым номером телефона (так что я ищу первое появление "NUM:" ), затем я удаляю все вещи после номера телефона, и получите номер. После этого я хочу проанализировать следующее возникновение из оставшейся строки.
Итак, теперь, когда я пытаюсь установить его, я всегда получаю последнее число на линии:
>sed 's/.*NUM://' data.txt
08022222222 bla bla bla
>
В первую очередь я хотел бы понять, что неправильно с моим пониманием SED. Конечно, более эффективные предложения приветствуются! Не говорит ли моя команда sed, замените все вещи до "NUM:" на "" (пустой)? Почему он всегда совпадает с последним событием?
Спасибо!