|
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
|
|
Поиск и копирование данных11.03.2014, 15:29. Показов 880. Ответов 8
Метки нет (Все метки)
Добрый день.
Есть огромный текстовый файл (выгрузка всех потоков сигнализаций с контроллера) Необходимо осуществить поиск по ключевому слову и скопировать несколько строк после ключевого в отдельный файл каждый раз как это слово по пути встречаться будет. Как именно осуществить поиск?
0
|
|
| 11.03.2014, 15:29 | |
|
Ответы с готовыми решениями:
8
Поиск и копирование данных в новый лист Поиск не пустых ячеек и копирование данных Поиск данных в листах и копирование их в отдельные листы |
|
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
|
|
| 12.03.2014, 16:41 [ТС] | |
|
Да, что то я не подумал.
Ниже пример нескольких EVENTов Клац
EVENT
SCANNER_ID: 000000100000000000000000 Hour: 14 Minute: 30 Second: 00 Millisecond: 102 Event_ID: 22 Name: RRC_SECURITY_MODE_COMMAND UE_CONTEXT: 299 RNC_MODULE_ID: 23 C_ID_1: 509 RNC_ID_1: 2231 C_ID_2: 508 RNC_ID_2: 2231 C_ID_3: EVENT_VALUE_INVALID RNC_ID_3: EVENT_VALUE_INVALID C_ID_4: EVENT_VALUE_INVALID RNC_ID_4: EVENT_VALUE_INVALID PDU_TYPE: 1 PROTOCOL_ID: 0 MESSAGE_DIRECTION: SENT MESSAGE_LENGTH: 26 MESSAGE_CONTENTS: value DL-DCCH-Message ::= { integrityCheckInfo { messageAuthenticationCode '10111111 01111001 01101010 10110100'B, rrc-MessageSequenceNumber 1 }, message securityModeCommand : r3 : { securityModeCommand-r3 { rrc-TransactionIdentifier 0, securityCapability { cipheringAlgorithmCap {uea1, uea0}, integrityProtectionAlgorithmCap {uia1} }, cipheringModeInfo { cipheringModeCommand startRestart : uea1, rb-DL-CiphActivationTimeInfo { { rb-Identity 1, rlc-SequenceNumber 0 }, { rb-Identity 2, rlc-SequenceNumber 15 }, { rb-Identity 3, rlc-SequenceNumber 0 }, { rb-Identity 4, rlc-SequenceNumber 0 } } }, integrityProtectionModeInfo { integrityProtectionModeCommand startIntegrityProtection : { integrityProtInitNumber '10001111 11110111 11000111 00100110'B }, integrityProtectionAlgorithm uia1 }, cn-DomainIdentity ps-domain, ue-SystemSpecificSecurityCap { gsm : { gsmSecurityCapability {a5-3, a5-1} } } } } } EVENT SCANNER_ID: 000000100000000000000000 Hour: 14 Minute: 30 Second: 00 Millisecond: 144 Event_ID: 8 Name: RRC_MEASUREMENT_REPORT UE_CONTEXT: 299 RNC_MODULE_ID: 23 C_ID_1: 509 RNC_ID_1: 2231 C_ID_2: 508 RNC_ID_2: 2231 C_ID_3: EVENT_VALUE_INVALID RNC_ID_3: EVENT_VALUE_INVALID C_ID_4: EVENT_VALUE_INVALID RNC_ID_4: EVENT_VALUE_INVALID PDU_TYPE: 2 PROTOCOL_ID: 0 MESSAGE_DIRECTION: RECEIVED MESSAGE_LENGTH: 11 MESSAGE_CONTENTS: value UL-DCCH-Message ::= { message measurementReport : { measurementIdentity 5, measuredResults intraFreqMeasuredResultsList : { { modeSpecificInfo fdd : { primaryCPICH-Info { primaryScramblingCode 237 }, cpich-Ec-N0 19, cpich-RSCP 23 } }, { modeSpecificInfo fdd : { primaryCPICH-Info { primaryScramblingCode 245 }, cpich-Ec-N0 20, cpich-RSCP 23 } } } } } EVENT SCANNER_ID: 000000100000000000000000 Hour: 14 Minute: 30 Second: 00 Millisecond: 164 Event_ID: 8 Name: RRC_MEASUREMENT_REPORT UE_CONTEXT: 299 RNC_MODULE_ID: 23 C_ID_1: 509 RNC_ID_1: 2231 C_ID_2: 508 RNC_ID_2: 2231 C_ID_3: EVENT_VALUE_INVALID RNC_ID_3: EVENT_VALUE_INVALID C_ID_4: EVENT_VALUE_INVALID RNC_ID_4: EVENT_VALUE_INVALID PDU_TYPE: 2 PROTOCOL_ID: 0 MESSAGE_DIRECTION: RECEIVED MESSAGE_LENGTH: 18 MESSAGE_CONTENTS: value UL-DCCH-Message ::= { message measurementReport : { measurementIdentity 11, measuredResults intraFreqMeasuredResultsList : { { cellSynchronisationInfo { modeSpecificInfo fdd : { countC-SFN-Frame-difference { countC-SFN-High 0, off 7 }, tm 26111 } }, modeSpecificInfo fdd : { primaryCPICH-Info { primaryScramblingCode 245 }, cpich-Ec-N0 20, cpich-RSCP 23 } }, { cellSynchronisationInfo { modeSpecificInfo fdd : { countC-SFN-Frame-difference { countC-SFN-High 0, off 7 }, tm 26624 } }, modeSpecificInfo fdd : { primaryCPICH-Info { primaryScramblingCode 237 }, cpich-Ec-N0 19, cpich-RSCP 23 } } } } } EVENT SCANNER_ID: 000000100000000000000000 Hour: 14 Minute: 30 Second: 00 Millisecond: 424 Event_ID: 8 Name: RRC_MEASUREMENT_REPORT UE_CONTEXT: 299 RNC_MODULE_ID: 23 C_ID_1: 509 RNC_ID_1: 2231 C_ID_2: 508 RNC_ID_2: 2231 C_ID_3: EVENT_VALUE_INVALID RNC_ID_3: EVENT_VALUE_INVALID C_ID_4: EVENT_VALUE_INVALID RNC_ID_4: EVENT_VALUE_INVALID PDU_TYPE: 2 PROTOCOL_ID: 0 MESSAGE_DIRECTION: RECEIVED MESSAGE_LENGTH: 15 MESSAGE_CONTENTS: value UL-DCCH-Message ::= { integrityCheckInfo { messageAuthenticationCode '00000000 00000000 00000000 00000010'B, rrc-MessageSequenceNumber 0 }, message measurementReport : { measurementIdentity 5, measuredResults intraFreqMeasuredResultsList : { { modeSpecificInfo fdd : { primaryCPICH-Info { primaryScramblingCode 245 }, cpich-Ec-N0 21, cpich-RSCP 24 } }, { modeSpecificInfo fdd : { primaryCPICH-Info { primaryScramblingCode 237 }, cpich-Ec-N0 18, cpich-RSCP 23 } } } } } EVENT SCANNER_ID: 000000100000000000000000 Hour: 14 Minute: 30 Second: 00 Millisecond: 894 Event_ID: 8 Name: RRC_MEASUREMENT_REPORT UE_CONTEXT: 299 RNC_MODULE_ID: 23 C_ID_1: 509 RNC_ID_1: 2231 C_ID_2: 508 RNC_ID_2: 2231 C_ID_3: EVENT_VALUE_INVALID RNC_ID_3: EVENT_VALUE_INVALID C_ID_4: EVENT_VALUE_INVALID RNC_ID_4: EVENT_VALUE_INVALID PDU_TYPE: 2 PROTOCOL_ID: 0 MESSAGE_DIRECTION: RECEIVED MESSAGE_LENGTH: 18 MESSAGE_CONTENTS: value UL-DCCH-Message ::= { integrityCheckInfo { messageAuthenticationCode '00000000 00000000 00000000 00000010'B, rrc-MessageSequenceNumber 0 }, message measurementReport : { measurementIdentity 6, measuredResults intraFreqMeasuredResultsList : { { modeSpecificInfo fdd : { primaryCPICH-Info { primaryScramblingCode 245 }, cpich-Ec-N0 23, cpich-RSCP 26 } }, { modeSpecificInfo fdd : { primaryCPICH-Info { primaryScramblingCode 237 }, cpich-Ec-N0 15, cpich-RSCP 21 } } }, eventResults intraFreqEventResults : { eventID e1d, cellMeasurementEventResults fdd : { { primaryScramblingCode 245 } } } } } Соответственно вот что я пока написал: clc clear k=fopen('D:\140306-2030-2045.txt','w'); fl=0; fid=fopen('D:\A20140306.1145+0600-1200+0600_SubNetwork=RNC04CHL,MeContext= RNC04CHL_20001_SubNetwork=ONRM_ROOT_MO_R ,SubNetwork=RNC04CHL,MeContext=RNC04CHL, ManagedElement=1,RncFunction=1,UtranCell =CELL_74_050_2_U_ctrfile_74_500.txt'); while 1 tline = fgetl(fid); if ~ischar(tline), break, end if findstr('EVENT',tline)==1; fl=1; end if strfind(tline,'Name: RRC_MEASUREMENT_REPORT')==1; fl=2; end if findstr(tline,'UE_CONTEXT')==1 & fl==2; P=fprintf(k,'%s\r\n',tline); end if findstr('C_ID_1',tline)==1 & fl==2; P=fprintf(k,'%s\r\n',tline); end if findstr('RNC_ID_1',tline)==1 & fl==2; P=fprintf(k,'%s\r\n',tline); end if findstr('primaryScramblingCode',tline)== 1 & fl==2; P=fprintf(k,'%s\r\n',tline); end if findstr('cpich-Ec-N0',tline)==1 & fl==2; P=fprintf(k,'%s\r\n',tline); end if findstr('cpich-RSCP',tline)==1 & fl==2; P=fprintf(k,'%s\r\n',tline); end end fclose(fid); fclose(k); Думаю отсюда понятно, какие именно строки я хочу перекопировать. Но на выходе пустой файл. p.S fl=1 на выходе почему-то. Добавлено через 1 час 21 минуту Ipgrade: Разобрался. Получилось. Теперь получилось следующее КЛАЦ
UE_CONTEXT: 2209
C_ID_1: 508 RNC_ID_1: 2231 RNC_ID_1: 2231 primaryScramblingCode 237 cpich-Ec-N0 35, cpich-RSCP 22 UE_CONTEXT: 2209 C_ID_1: 508 RNC_ID_1: 2231 RNC_ID_1: 2231 primaryScramblingCode 237 cpich-Ec-N0 35, cpich-RSCP 22 primaryScramblingCode 245 cpich-Ec-N0 25, cpich-RSCP 16 UE_CONTEXT: 2209 C_ID_1: 508 RNC_ID_1: 2231 RNC_ID_1: 2231 primaryScramblingCode 237 cpich-Ec-N0 37, cpich-RSCP 22 UE_CONTEXT: 2209 C_ID_1: 508 RNC_ID_1: 2231 RNC_ID_1: 2231 UE_CONTEXT: 2209 C_ID_1: 508 RNC_ID_1: 2231 RNC_ID_1: 2231 UE_CONTEXT: 2209 C_ID_1: 508 RNC_ID_1: 2231 RNC_ID_1: 2231 UE_CONTEXT: 2209 C_ID_1: 508 RNC_ID_1: 2231 RNC_ID_1: 2231 Надо бы теперь это как то в Матлаб загнать. Т.е оставить только цифры и распределить по матрице. Вот пытаюсь через fscanf, но пока ничего толкового. Добавлено через 15 минут Upgrade: Если искать через fscanf, то даже если нахожу просто число в этой куче, оно записано как символ.
0
|
|
|
536 / 523 / 38
Регистрация: 13.03.2011
Сообщений: 728
|
|
| 12.03.2014, 21:03 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
|
|
| 13.03.2014, 07:09 [ТС] | |
|
Необходимо сформировать матрицу, где
1 - столбец - UE_CONTEXT 2 - C_ID_1 и так далее. Чтобы потом производить необходимые вычисления.
0
|
|
|
536 / 523 / 38
Регистрация: 13.03.2011
Сообщений: 728
|
|
| 13.03.2014, 18:31 | |
|
А еще подробнее? Опирайтесь на Ваше "Теперь получилось следующее".
0
|
|
|
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
|
|
| 13.03.2014, 20:33 [ТС] | |
|
Чтобы не путать Вас и самому не запутаться попробую перефразировать.
Дана строка: tline='UE_CONTEXT: 2209' Как из неё достать 2209. Необходимо достать в виде матрицы, а не в виде строки.
0
|
|
|
536 / 523 / 38
Регистрация: 13.03.2011
Сообщений: 728
|
||||||||||||||||
| 14.03.2014, 03:17 | ||||||||||||||||
|
Может, "в виде числа"?
Если я Вас правильно понял, то Вам нужно вот так (должно подходить под все строки, что указаны в "Теперь получилось следующее" ):
Странно у Вас записано условие цикла. Обычно пишут
И читается код логично: "пока не достигнут конец файла".
0
|
||||||||||||||||
| 14.03.2014, 03:17 | |
|
Помогаю со студенческими работами здесь
9
Поиск значения и копирование данных соседних ячеек Поиск данных, копирование данных Сравнение (поиск) ячеек из столбца и копирование к ним дополнительных данных Поиск в документе, копирование данных нескольких однотипных таблиц в новый документ
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|