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

Замена (удаление) нескольких пустых строк на одну пустую строку

08.11.2019, 23:37. Показов 3358. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток форумчане!
Возможно ли решить такую задачу?
Пример файла txt:
Кликните здесь для просмотра всего текста
Однажды, в студёную зимнюю пору
Я из лесу вышел; был сильный мороз.


Гляжу, поднимается медленно в гору
Лошадка, везущая хворосту воз.



И, шествуя важно, в спокойствии чинном,
Лошадку ведёт под уздцы мужичок

В больших сапогах, в полушубке овчинном,
В больших рукавицах... а сам с ноготок!
«Здорово, парнище!» — «Ступай себе мимо!» —




«Уж больно ты грозен, как я погляжу!
Откуда дровишки?» — «Из лесу, вестимо,

Отец, слышишь, рубит, а я отвожу».

Необходимо в тех местах, где находится две и более пустые строки, удалить пустые строки, оставив только одну пустую строку.
Конечный результат:
Кликните здесь для просмотра всего текста
Однажды, в студёную зимнюю пору
Я из лесу вышел; был сильный мороз.

Гляжу, поднимается медленно в гору
Лошадка, везущая хворосту воз.

И, шествуя важно, в спокойствии чинном,
Лошадку ведёт под уздцы мужичок

В больших сапогах, в полушубке овчинном,
В больших рукавицах... а сам с ноготок!
«Здорово, парнище!» — «Ступай себе мимо!» —

«Уж больно ты грозен, как я погляжу!
Откуда дровишки?» — «Из лесу, вестимо,

Отец, слышишь, рубит, а я отвожу».

Заранее благодарю за оказанную помощь.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.11.2019, 23:37
Ответы с готовыми решениями:

Замена пустых строк на строку S
Дана строка S и текстовый файл. Заменить в файле все пустые строки на строку S.

Конвертация пустых значений из Json объекта в пустую строку
Доброго времени суток, форумчане! Подскажите пожалуйста, при конвертации из json в <ClientCard> падает метод ...

Вывод данных из нескольких строк таблицы в одну строку через разделитель (пробел, запятую)
Добрый день! Есть табличка с адресами: addr ul1 ul2 dom вул. 1 Травня вул. 1 Травня 1 вул. 1...

5
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
09.11.2019, 05:34
Лучший ответ Сообщение было отмечено marianoredondo как решение

Решение

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
set "f=file.txt"
 
<"%f%">$ (for /f "tokens=1* delims=[]" %%a in ('find /n /v ""') do @(
  if not "%%b"=="" set /a n=-1
  call :# "%%b"
 )
)& >nul move $ "%f%"
pause& exit
 
:#
  set /a n+=1
  if "%n%"=="0" <nul set /p="%~1"& echo:
  if "%n%"=="1" echo:
exit /b
но если файл будет в кодировке utf-8 или чуднее cmd такое не переварит и поломается, также не все спецсимволы пройдут, тоже застопорят код или сломают.
1
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 111
09.11.2019, 08:27  [ТС]
Цитата Сообщение от alpap Посмотреть сообщение
"но если файл будет в кодировке utf-8"
Спасибо, это подходит. У меня файл всегда в кодировке Win 1251
0
 Аватар для volodin661
6806 / 2305 / 349
Регистрация: 10.12.2013
Сообщений: 7,932
10.11.2019, 05:25
PowerShell
1
2
$NL = [Environment]::NewLine
(gc file.txt -raw) -replace "${NL}${NL}${NL}+", "${NL}${NL}"
Добавлено через 4 минуты
не зависит от операционной системы
не зависит от кодировки

Цитата Сообщение от alpap Посмотреть сообщение
если файл будет в кодировке utf-8 или чуднее
чуднее в 21-ом веке пользоваться ANSI-кодировками
2
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
10.11.2019, 16:11
Цитата Сообщение от volodin661 Посмотреть сообщение
чуднее в 21-ом веке ...
согласен, только я говорил в пределах рамок cmd, относительно раздела.
0
 Аватар для volodin661
6806 / 2305 / 349
Регистрация: 10.12.2013
Сообщений: 7,932
11.11.2019, 06:23
В самом CMD.EXE внутренняя поддержка UTF-8 относительно приличная,
беда начинается при вводе / выводе в сопутствующее консольное окно.

В Windows 7 бороться бесполезно, в Windows 8 половину проблем ввода/вывода в консольное окно исправили;
по слухам в последних сборках Windows 10 самая благоприятная консольная атмосфера.

Собственно, эта новая Windows Console вышла этим летом ( июнь 2019-го ) и лежит в исходниках на Github.
https://github.com/Microsoft/Terminal

То есть,
Windows Batch file
1
choco install microsoft-windows-terminal
и вот вам новая консоль. Но, повторяю, это только для Windows 10.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.11.2019, 06:23
Помогаю со студенческими работами здесь

Подсчитать количество пустых строк и строк, которые начинаются и оканчиваются на одну и ту же букву
Привет всем!!! Пожалуйста, помогите с программой. Сама программа есть, но к каждой строчки надо дописать коментарии и еще надо, чтобы...

Перенос значений из строк в столбцы. При выполнении по 2-х условий, объединение данных в одну строку. Удаление
Добрый день, подскажите, как решить задачу. Есть выгрузка данных, необходимо перенести значения строк со значением «есть на складе»,...

Замена на пустую строку
Здравствуйте! Скажите, кто-нибудь знает, как в Екселе заменить какие-то знаки на пустую строку? Например,(на изображении) в той записи,...

Замена на пустую строку макросом
Здравствуйте! Скажите, кто-нибудь знает, как в Екселе заменить какие-то знаки на пустую строку? Например,(на изображении) в той записи,...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru