Как выбрать некоторые конкретные строки данных в блоке данных и игнорировать те данные, которые не совпадают (linux)
Блок данных начинается с "<SUBBEGIN" и заканчивается "<SUBEND"
Я только хочу перечислить SUBSCRIBERIDENTIFIER, который имеет только одну или комбинацию этих подписок(5093264, VOIPBurn, 2000018).
Любая подписка, которая не находится в скобке выше, не должна быть напечатана/перечислена, даже если она объединена в блоке данных с любой подпиской в скобке выше). Блок данных выглядит следующим образом. Они сохраняются в текстовом файле.
<SUBBEGIN SID:28E4 SUBSCRIBERIDENTIFIER:234817524 GBRUL:0 GBRDL:0 SUBSCRIPTION:5093264&733D8E01CA0E270D&1&FFFFFFFFFFFFFF MAXOFFLINEDAYS:0 <SUBEND <SUBBEGIN SID:28E5 SUBSCRIBERIDENTIFIER:234809156 GBRUL:0 GBRDL:0 SUBSCRIPTION:2000018&73152E10C5625511&1&20170419145702 MAXOFFLINEDAYS:0 <SUBEND <SUBBEGIN SID:28E6 SUBSCRIBERIDENTIFIER:234817365 GBRUL:0 GBRDL:0 SUBSCRIPTION:VOIPBurn&73152E10C5625511&1&2017041914570 MAXOFFLINEDAYS:0 <SUBEND <SUBBEGIN SID:28E7 SUBSCRIBERIDENTIFIER:234909599 GBRUL:0 GBRDL:0 SUBSCRIPTION:VOIPBurn&73152E10C5625511&1&2017041914465 SUBSCRIPTION:5083038&733DAA081F1DC70B&1&FFFFFFFFFFFFFF MAXOFFLINEDAYS:0 <SUBEND <SUBBEGIN SID:28E8 SUBSCRIBERIDENTIFIER:234818752 GBRUL:0 GBRDL:0 SUBSCRIPTION:2000018&73159A0C66F20A0A&1&20170322155953 SUBSCRIPTION:5093264&733D8E01CA0E270D&1&FFFFFFFFFFFFFF SUBSCRIPTION:2000020&73159E0C85F20A0A&1&FFFFFFFFFFFFFF MAXOFFLINEDAYS:0 <SUBEND <SUBBEGIN SID:28E9 SUBSCRIBERIDENTIFIER:234818465 GBRUL:0 GBRDL:0 SUBSCRIPTION:5093264&73159A0C66F20A0A&1&20170516214656 MAXOFFLINEDAYS:0 <SUBEND <SUBBEGIN SID:28F0 SUBSCRIBERIDENTIFIER:234818440 GBRUL:0 GBRDL:0 SUBSCRIPTION:5093264&73159A0C66F20A0A&1&20170516214656 SUBSCRIPTION:2000018&73159A0C66F20A0A&1&20170516214656 MAXOFFLINEDAYS:0 <SUBEND
Результат выводится примерно так:
SUBSCRIBERIDENTIFIER:234817524 SUBSCRIPTION:5093264 SUBSCRIBERIDENTIFIER:234809156 SUBSCRIPTION:2000018 SUBSCRIBERIDENTIFIER:234817365 SUBSCRIPTION:VOIPBurn SUBSCRIBERIDENTIFIER:234818465 SUBSCRIPTION:5093264 SUBSCRIBERIDENTIFIER:234818440 SUBSCRIPTION:5093264 SUBSCRIPTION:2000018
Что я уже пробовал:
Нет, я не пробовал. Я новичок в Linux
Richard MacCutchan
Это не имеет ничего общего с Linux, это простая проблема сопоставления текста. Вам просто нужно прочитать каждому разделу между SUBBEGIN и SUBEN, и извлечь элементы, которые вы заинтересованы в, сравнивая текст с помощью значений, которые вам нужны.