Имя пользователя:
Пароль:
 | Правила  

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

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

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


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

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


Добрый день!

Есть файл с содержимым вида:

61400013.68F
61400013.69F
61400013.70F
61400013.71F
61400048.51F
61400048.52F
61400070.16F
61400070.17F
61400070.18F
61400070.19F
61400215.23F
61400215.24F
61400215.25F

Если не смотреть на точки и букву F, то видно, что это просто увеличивающиеся числа,
но они как бы разбиты на диапазоны роста

1
61400013.68F
61400013.69F
61400013.70F
61400013.71F

2
61400048.51F
61400048.52F

3
61400070.16F
61400070.17F
61400070.18F
61400070.19F

4
61400215.23F
61400215.24F
61400215.25F

В каждой строке всегда присутствует точка и буква F

Суть проблемы:

Надо в каждом диапазоне заменить все строки, КРОМЕ последней на вид:

[задаваемая маска]61400013.68F
[задаваемая маска]61400013.69F
[задаваемая маска]61400013.70F
[задаваемая маска два]61400013.71F[задаваемая маска три]

таким образом:
исходное состояние:

61400013.68F
61400013.69F
61400013.70F
61400013.71F
61400048.51F
61400048.52F
61400070.16F
61400070.17F
61400070.18F
61400070.19F
61400215.23F
61400215.24F
61400215.25F

конечное состояние:

[задаваемая маска]61400013.68F
[задаваемая маска]61400013.69F
[задаваемая маска]61400013.70F
[задаваемая маска два]61400013.71F[задаваемая маска три]

[задаваемая маска]61400048.51F
[задаваемая маска два]61400048.52F[задаваемая маска три]

[задаваемая маска]61400070.16F
[задаваемая маска]61400070.17F
[задаваемая маска]61400070.18F
[задаваемая маска два]61400070.19F[задаваемая маска три]

[задаваемая маска]61400215.23F
[задаваемая маска]61400215.24F
[задаваемая маска два]61400215.25F[задаваемая маска три]

Очень прошу помощи!!!

Отправлено: 07:04, 12-09-2015

 

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


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

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


СУПЕР!!!!!!!!!
ИДЕАЛЬНО!!!!!!!!!!
(последний скрипт)
Единственный вопрос: при формировании файла, после вставки [задаваемая маска три] делается лишний перевод строки:

[задаваемая маска два]61400000.64F[задаваемая маска три]

[задаваемая маска]61400013.68F
[задаваемая маска]61400013.69F
[задаваемая маска]61400013.70F
[задаваемая маска два]61400013.71F[задаваемая маска три]

[задаваемая маска]61400048.51F
[задаваемая маска два]61400048.52F[задаваемая маска три]

Где именно в скрипте устанавливается этот перевод строки, чтоб иметь возможность его убрать?

Отправлено: 19:28, 12-09-2015 | #11



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

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


Ветеран


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

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


Цитата ВиталийВ:
после вставки [задаваемая маска три] делается лишний перевод строки »



Ну почему же "лишний"? Вы же сами писали в ТЗ:


Цитата ВиталийВ:
конечное состояние:

[задаваемая маска]61400013.68F
[задаваемая маска]61400013.69F
[задаваемая маска]61400013.70F
[задаваемая маска два]61400013.71F[задаваемая маска три]

[задаваемая маска]61400048.51F
[задаваемая маска два]61400048.52F[задаваемая маска три]

[задаваемая маска]61400070.16F
[задаваемая маска]61400070.17F
[задаваемая маска]61400070.18F
[задаваемая маска два]61400070.19F[задаваемая маска три]

[задаваемая маска]61400215.23F
[задаваемая маска]61400215.24F
[задаваемая маска два]61400215.25F[задаваемая маска три] »

.



Чтобы пустая строка не выводилась, нужно "закомментировать" строку " set blank=true" или (и) строку " if defined blank echo.& set blank=":
Код: Выделить весь код
     rem set blank=true
или (и)
Код: Выделить весь код
 rem if defined blank echo.& set blank=
.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:43, 12-09-2015 | #12


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


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

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


Попробовал закомментировать обе строки - вышло как надо.

Спасибо огромное - выручили несказАнно!!!!!!!

Тетки на работе вздохнут немного, а то они по 2-3 тыщи файлов глазами отсматривали, сейчас это будет в автомате.

Отправлено: 07:54, 13-09-2015 | #13



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Поиск, удаление, замена и добавление строк в текстового файле. Что возможно? akrav Скриптовые языки администрирования Windows 8 06-12-2015 13:22
CMD/BAT - [решено] Замена строк в файле, содержащем пустые строки SharkyEXE Скриптовые языки администрирования Windows 6 02-03-2015 15:42
CMD/BAT - Поиск строк в файле и замена их на числа,сгенерированные по маске. galclerik Скриптовые языки администрирования Windows 17 19-12-2013 11:59
VBS/WSH/JS - [решено] Поиск строки по маске в txt файле и замена всей строки из InputBox ultrarare Скриптовые языки администрирования Windows 11 03-07-2013 14:37
CMD/BAT - Замена нескольких строк в файле bcubbs@fb Скриптовые языки администрирования Windows 3 24-01-2013 14:01




 
Переход