Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] разбить текстовый файл на несколько по условию

Ответить
Настройки темы
CMD/BAT - [решено] разбить текстовый файл на несколько по условию

Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Прошу помочь

Имеется текстовый файл следующего типа
# 1 Текст1
Ошибка1 текст
Ошибка2 текст
Ошибка3 текст
# 2 Текст2
Ошибка1 текст
Ошибка2 текст
Ошибка4 текст
# 3 Текст3
Ошибка2 текст
Ошибка4 текст
Ошибка5 текст
необходимо разделить на несколько текстовых файлов по следующему условию:
если в части текста которая начинается с символа # и до следующей # встречается фраза "Ошибка1" то всю эту часть текста скопировать в файл 1.txt и т.д.

Отправлено: 10:37, 21-01-2019

 

Ветеран


Contributor


Сообщения: 1522
Благодарности: 893

Профиль | Отправить PM | Цитировать


Rey71, лучше бы Вы дали образец реального файла, так как абстракция Ошибка1 не гарантирует адекватное решение. Как минимум, хотелось бы видеть реальные представления Ошибка1 Ошибка2. Попутный вопросы:
1. Сколько ориентировочно строк в файле?
2. Если в текстовом файле Ошибка1 и т д встречается многократно, копировать в выходной файл каждую строку или только первую?
3. Сообщение Ошибка1 и т д содержит пробелы?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 21-01-2019 в 12:19.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:58, 21-01-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


файл содержит персональные данные - не есть хорошо их показывать
1. строк примерно 2000
2. если ошибка встречается многократно то копировать в выходной файл каждую строку.
3. Сообщение Ошибка1 содержит пробелы.

на выходе хотелось бы получить

1.txt (Ошибка1)
# 1 Текст1
Ошибка1 текст
Ошибка2 текст
Ошибка3 текст
# 2 Текст2
Ошибка1 текст
Ошибка2 текст
Ошибка4 текст

2.txt (ошибка2)
# 1 Текст1
Ошибка1 текст
Ошибка2 текст
Ошибка3 текст
# 2 Текст2
Ошибка1 текст
Ошибка2 текст
Ошибка4 текст
# 3 Текст3
Ошибка2 текст
Ошибка4 текст
Ошибка5 текст

3.txt (ошибка3)
# 1 Текст1
Ошибка1 текст
Ошибка2 текст
Ошибка3 текст

и т.д.

Отправлено: 13:02, 21-01-2019 | #3


Аватара для yurfed

Ветеран


Сообщения: 18258
Благодарности: 2819

Профиль | Отправить PM | Цитировать


Цитата Rey71:
файл содержит персональные данные »
У вас их никто и не спрашивает. Да и не интересно это никому. Просто замените на что-нибудь абстрактное.
Нужен сам принцип построения вашего документа.
Цитата Rey71:
2. если ошибка встречается многократно »
Многократно это больше чем 1+?

-------
Мнение большинства людей всегда ошибочно, ибо большинство людей - идиоты.
~ Эдгар Аллан По ~

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:24, 21-01-2019 | #4


Ветеран


Contributor


Сообщения: 1522
Благодарности: 893

Профиль | Отправить PM | Цитировать


Цитата Rey71:
3. Сообщение Ошибка1 содержит пробелы. »
Где кончается Ошибка1 и начинается текст? Приведите примеры строк.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 14:00, 21-01-2019 | #5


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Пример исходного файла

# 1 ВС '111 111111', , д/р 11.11.1111, муж, 11111111, , док. s15113652827
У aaaaaaaaaaaaaa не указан sss (не заполнено поле Weight)
У aaaaaaaaaaaaaa не указан qqqq (не заполнено поле Height)
# 2 ВС '2222 22222', , д/р 22.22.2222, муж, 22222222,, док. s03560575449
Некорректно заполнено поле IT_SL ("Итоговый коэффициент сложности ggggggg gggggggg"): It_Sl='1.18', д.б. '1.12'
У aaaaaaaaaaaaaa не указан sss (не заполнено поле Weight)

Отправлено: 14:08, 21-01-2019 | #6


Ветеран


Contributor


Сообщения: 1522
Благодарности: 893

Профиль | Отправить PM | Цитировать


Rey71, Ошибка1 это У aaaaaaaaaaaaaa не указан sss
А текст в скобках?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 14:15, 21-01-2019 | #7


Аватара для YuS_2

Старожил


Сообщения: 297
Благодарности: 111

Профиль | Отправить PM | Цитировать


Цитата Rey71:
У aaaaaaaaaaaaaa не указан sss (не заполнено поле Weight)
У aaaaaaaaaaaaaa не указан qqqq (не заполнено поле Height) »
Ничего не понятно...
Как будет строка идентифицироваться, чтобы было однозначное соответствие определенному выходному файлу?
Т.е., например, вот тут есть соответствие:
Код: Выделить весь код
Ошибка1 -> 1.txt
Ошибка2 -> 2.txt
...
Ошибка4 -> 4.txt
а вот тут:
Нет соответствия
Цитата Rey71:
1.txt (Ошибка1)
# 1 Текст1
Ошибка1 текст
Ошибка2 текст
Ошибка3 текст
# 2 Текст2
Ошибка1 текст
Ошибка2 текст
Ошибка4 текст
2.txt (ошибка2)
# 1 Текст1
Ошибка1 текст
Ошибка2 текст
Ошибка3 текст
# 2 Текст2
Ошибка1 текст
Ошибка2 текст
Ошибка4 текст
# 3 Текст3
Ошибка2 текст
Ошибка4 текст
Ошибка5 текст
3.txt (ошибка3)
# 1 Текст1
Ошибка1 текст
Ошибка2 текст
Ошибка3 текст »

и вот здесь:
его тоже нет
Цитата Rey71:
# 1 ВС '111 111111', , д/р 11.11.1111, муж, 11111111, , док. s15113652827
У aaaaaaaaaaaaaa не указан sss (не заполнено поле Weight)
У aaaaaaaaaaaaaa не указан qqqq (не заполнено поле Height)
# 2 ВС '2222 22222', , д/р 22.22.2222, муж, 22222222,, док. s03560575449
Некорректно заполнено поле IT_SL ("Итоговый коэффициент сложности ggggggg gggggggg"): It_Sl='1.18', д.б. '1.12'
У aaaaaaaaaaaaaa не указан sss (не заполнено поле Weight) »


Как отбирать строки, чтобы они попали в тот файл, в который требуется?

-------
scio me nihil scire


Отправлено: 15:35, 21-01-2019 | #8


Ветеран


Contributor


Сообщения: 24008
Благодарности: 6974

Профиль | Отправить PM | Цитировать


Rey71, возьмите Ваш исходный файл. Произвольно обфусцируйте в нём персональные данные. Сделайте из него «ручками» потребные текстовые файлы с потребными именами. Упакуйте всё это в архив, каковой приложите к сообщению.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:15, 21-01-2019 | #9


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip 1.zip
(2.1 Kb, 8 просмотров)

Прошу прощения, не смог правильно объяснить задачу.
Прикладываю в архиве образец исходного файла и выходных файлов.
имена выходных файлов значения не имеют (можно просто цифрами).

Отправлено: 06:13, 22-01-2019 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] разбить текстовый файл на несколько по условию

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Создать несколько файлов из одного по условию Rey71 Скриптовые языки администрирования Windows 9 28-04-2018 08:13
CMD/BAT - [решено] разбить файл на много файлов по шаблону и каждый файл положить в папку Mezolick Скриптовые языки администрирования Windows 3 03-02-2017 08:38
CMD/BAT - [решено] Как построчно разбить текстовый файл на текстовые файлы содержащие одну строку binwatch@vk Скриптовые языки администрирования Windows 3 09-09-2012 19:59
CMD/BAT - Разбить текстовый файл на части определенного размера. kamcom88 Скриптовые языки администрирования Windows 0 22-03-2012 12:23
CMD/BAT - Как разбить текстовый файл на куски определенного размера? helik Скриптовые языки администрирования Windows 7 16-11-2011 06:35




 
Переход