Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Регулярка для получения текста сообщения  (Прочитано 509 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Cxms

  • Автор темы
  • Активист
  • *
  • Сообщений: 407
    • Просмотр профиля
Не выходит получить текст сообщения. (вывод mmcli)
Нужно получить только текст полсле text:
который в строгих ковычках, но текст может быть как в одной строке:
SMS '/org/freedesktop/ModemManager1/SMS/0'
  -----------------------------------
  Content    |              number: '111'
             |                text: 'Начало текста сообщения. Какой-то текст. Какой-то текст. Какой-то текст. Конец текста сообщения.'
  -----------------------------------
  Properties |            PDU type: 'deliver'
             |               state: 'received'
             |                smsc: '+787654321'
             |               class: '-1'
             |             storage: 'sm'
             |           timestamp: '151112181351+03'
так и в нескольких:
SMS '/org/freedesktop/ModemManager1/SMS/0'
  -----------------------------------
  Content    |              number: '111'
             |                text: 'Начало текста сообщения. Какой-то текст. Какой-то текст. Какой-то текст.
Какой-то текст. Какой-то текст. Какой-то текст. Какой-то текст. Какой-то текст.
Какой-то текст. Конец текста сообщения.'
  -----------------------------------
  Properties |            PDU type: 'deliver'
             |               state: 'received'
             |                smsc: '+787654321'
             |               class: '-1'
             |             storage: 'sm'
             |           timestamp: '151112181351+03'
« Последнее редактирование: 15 Ноября 2015, 17:08:29 от Cxms »

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Регулярка для получения текста сообщения
« Ответ #1 : 16 Ноября 2015, 01:12:37 »
Код: (bash) [Выделить]
sed -n "/.*text:\s*/{s///;:1;/'$/! {N;b1};p}"
В Linux можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.018 секунд. Запросов: 23.