Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 20.04.2013
Сообщений: 9

Добавление строк по шаблону

29.08.2013, 16:26. Показов 1618. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня! Я понимаю, что задача, которая возникла передо мной с моими знаниями не выполнима.. Поэтому надеюсь хоть на какую-то помощь)))... Если такое возможно средствами командной строки... Опишу ситуацию и цель..
Есть csv-файл образец-шаблон:
Кликните здесь для просмотра всего текста

20100;d2-01:
20300;d2-02
30100;d3-01
30110;d3-02
30120;d3-03
30130;d3-04
30140;d3-05
30200;d3-06
30210;d3-07
30220;d3-08
30230;d3-09
30240;d3-10
30300;d3-11
30310;d3-12
30320;d3-13
30330;d3-14
30340;d3-15
40100;d4-01
40110;d4-02
40120;d4-03
40130;d4-04
40140;d4-05
40200;d4-06
40300;d4-07
40400;d4-08
40600;d4-09
40610;d4-10
40620;d4-11
40630;d4-12
40700;d4-13
40710;d4-14
40720;d4-15
40730;d4-16
40800;d4-17
40810;d4-18
40820;d4-19
40830;d4-20
50000;d5-01
50100;d5-02
50200;d5-03
50300;d5-04
50400;d5-05

Это эталон будущей примерной структуры необходимого файла...
Есть файл work.csv с примерной структурой:
Кликните здесь для просмотра всего текста

20100;xxx
20300;zzz
30200;aaa
30210;bbb
20100;qqq
20300;www
30200;rrr
20100;ttt
20300;yyy
20100;uuu
20300;iii
50300;ммм

Это как образец.... То есть структура не стабильная, первые ДВЕ строки, начинаюшиеся с 20100 и 20300 стабильны и считаются началом нового блока информации..., вполь до следующих "20100 и 20300"...
Остальные строки или есть или нет, или все или не все.. без всяких правил....
Цель преобразовать файл, добавив нехватающие строки по шаблону, со значением равным нулю, приведя к такому виду:
Кликните здесь для просмотра всего текста

20100;xxx
20300;zzz
30100;0
30110;0
30120;0
30130;0
30140;0
30200;aaa
30210;bbb
30220;0
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;0
50400;0
20100;qqq
20300;www
30100;0
30110;0
30120;0
30130;0
30140;0
30200;0
30210;0
30200;rrr
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;0
50400;0
20100;ttt
20300;yyy
30100;0
30110;0
30120;0
30130;0
30140;0
30200;0
30210;0
30200;0
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;0
50400;0
20100;uuu
20300;iii
30100;0
30110;0
30120;0
30130;0
30140;0
30200;0
30210;0
30200;0
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;ммм
50400;0


Помогите или подскажите как такое реализовать.... Средствами поиска и замены, это нереально много условий... Может кто-то знает, как это сделать проще?!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.08.2013, 16:26
Ответы с готовыми решениями:

Поиск в каждом текстовом файле подстроки по шаблону и добавление найденной к имени этого файла
Здравствуйте, есть задача, найти в текстовых файлах строку "ABC 638" и цифры после "АВС" дописать в имя файла (переименовать) АВС...

Поиск в текстовом файле строк по шаблону и их удаление или замена задаваемой строкой
Помогите создать правильный Batch (CMD/BAT) фалй который будет искать в текстовых файлах строку содержащую в начале ".line 12345"...

Добавление статей по шаблону
Хаи гайсы. Для DLE я скачал шаблон Flat Cinema... все хорошо идет но вот проблема. При добавлении статей у меня все еще прежний шаблон для...

3
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
29.08.2013, 16:35
Не понял ТЗ.
По какому принципу идет добавление строк?
Цитата Сообщение от dxangelo Посмотреть сообщение
Цель преобразовать файл, добавив нехватающие строки по шаблону
Какие строки считать нехватающими?
0
1 / 1 / 0
Регистрация: 20.04.2013
Сообщений: 9
29.08.2013, 17:05  [ТС]
Цитата Сообщение от FraidZZ Посмотреть сообщение
По какому принципу идет добавление строк?
Какие строки считать нехватающими?
По принципу образца-шаблона, где dx-yy считать нулем, если строка отсутствует...
Файл work.csv считать исходным... На основе шаблона получаем
Кликните здесь для просмотра всего текста
20100;xxx
20300;zzz
30100;0
30110;0
30120;0
30130;0
30140;0
30200;aaa
30210;bbb
30220;0
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;0
50400;0
20100;qqq
20300;www
30100;0
30110;0
30120;0
30130;0
30140;0
30200;0
30210;0
30200;rrr
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;0
50400;0
20100;ttt
20300;yyy
30100;0
30110;0
30120;0
30130;0
30140;0
30200;0
30210;0
30200;0
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;0
50400;0
20100;uuu
20300;iii
30100;0
30110;0
30120;0
30130;0
30140;0
30200;0
30210;0
30200;0
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;ммм
50400;0

где все строки с 0 на конце строки считаются добавленными...
Я может не очень правильно объясняю...
А нехватающие строки из результата вот:
Кликните здесь для просмотра всего текста

20100;xxx (Уже существовала)
20300;zzz (Уже существовала)
30100;0
30110;0
30120;0
30130;0
30140;0
30200;aaa (Уже существовала)
30210;bbb (Уже существовала)
30220;0
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;0
50400;0
20100;qqq (Уже существовала)
20300;www (Уже существовала)
30100;0
30110;0
30120;0
30130;0
30140;0
30200;0
30210;0
30200;rrr (Уже существовала)
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;0
50400;0
20100;ttt (Уже существовала)
20300;yyy (Уже существовала)
30100;0
30110;0
30120;0
30130;0
30140;0
30200;0
30210;0
30200;0
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;0
50400;0
20100;uuu (Уже существовала)
20300;iii (Уже существовала)
30100;0
30110;0
30120;0
30130;0
30140;0
30200;0
30210;0
30200;0
30230;0
30240;0
30300;0
30310;0
30320;0
30330;0
30340;0
40100;0
40110;0
40120;0
40130;0
40140;0
40200;0
40300;0
40400;0
40600;0
40610;0
40620;0
40630;0
40700;0
40710;0
40720;0
40730;0
40800;0
40810;0
40820;0
40830;0
50000;0
50100;0
50200;0
50300;ммм (Уже существовала)
50400;0


Добавлено через 6 минут
Считается что полный блок информации начинается со строки с номером 20100 и до строки с номером 50400... Так как в исходном файте может существовать только строка с номером 20100, а другие могут отсутствовать, то неободимо их как раз и добавить...
Я понимаю что цикл, но как не могу понять..((
0
1 / 1 / 0
Регистрация: 20.04.2013
Сообщений: 9
06.09.2013, 09:34  [ТС]
Проблема решена совсем иначе... (через базы данных)...
Всем спасибо))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.09.2013, 09:34
Помогаю со студенческими работами здесь

добавление триггера к существующему шаблону
привет форумчане. собственно такая штука: у меня в программе при инициализации кастомного контрола создается контекстное меню. стиль...

Добавление компонента на форму по шаблону
Здравствуйте. Подскажите как добавлять компонент на форму по шаблону в готовом приложении? Поясню: Требуется что бы допустим TButton...

Ограничить добавление в текстовое поле по шаблону
Всем привет! Есть текстовый столбец в котором храниться полное доменное имя, пример: vk.com google.com yandex.ru Можно ли...

Добавление текста к картинке-шаблону и сохранение результата
Здравствуйте. Нуждаюсь в помощи создания такого скрипта: есть страничка, на ней несколько примеров изображений. Выбираем одно из них....

Разбиение строк по шаблону
Добрый день, подскажите как разбить строку по шаблону К примеру файл /etc/passwd - его шаблон "username: pswd:uid:gid:uid...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru