|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление одной предыдущей строки |
|
CMD/BAT - [решено] Удаление одной предыдущей строки
|
Старожил Сообщения: 147 |
Здравствуйте! Подскажите пожалуйста как на cmd или powershell реализовать следующее:
В текстовом файле имеем: строка строка set REV=1.1 VER:1.10.50=(значение меняется) строка строка Надо во всём txt файле найти и удалить одну предыдущую строку перед VER:1.10.50=(значение меняется) То есть часть строки постоянна VER:1.10.50= и далее после знака ровно, значения меняются. Другими словами, надо просто удалять одну предыдущую строку, что бы получилось: строка строка VER:1.10.50=(значение меняется) строка строка |
|
Отправлено: 12:59, 15-08-2019 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать YuS_2, а почему в первом шаблоне именно «[^\n]», а не просто «.», ведь точка и означает «Any except \n (new line)»? Это просто вопрос, ежели что.
Цитата Freddy1984:
|
|
Отправлено: 13:53, 16-08-2019 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Iska:
В принципе, можно и так: - это эквивалент... так что, использование такой конструкции не принципиально. |
|
------- Последний раз редактировалось YuS_2, 17-08-2019 в 21:51. Отправлено: 17:54, 16-08-2019 | #12 |
Старожил Сообщения: 147
|
Цитата Iska:
Но это по факту всё тоже что я описал выше, только вид сбоку |
|
Отправлено: 09:33, 17-08-2019 | #13 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать YuS_2, спасибо, Ваша мысль понятна. Только точки я бы-таки заэкранировал.
Цитата Freddy1984:
|
|
Отправлено: 20:29, 17-08-2019 | #14 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Iska:
исправлено. |
|
------- Отправлено: 21:50, 17-08-2019 | #15 |
Старожил Сообщения: 147
|
Можно ещё вопрос?
Подскажите пожалуйста как сделать дозапись предыдущей строки? Вроде логично что вместо replace должен быть write. Но что то не выходит.. То есть имеется: строка строка set REV=1.1 VER:1.10.50=(значение меняется) строка строка Если "set REV=1.1" имеется перед "VER:1.10.50=", то пропускаем, а если "set REV=1.1" перед "VER:1.10.50=" отсутствует, то перед "VER:1.10.50=" дописать "set NEW.REV=5.5" То есть перед дозаписью возможно как то организовать проверку наличия конкретной предыдущей строки? И если строка отсутствует, до дописать своё. |
Отправлено: 11:19, 26-08-2019 | #16 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Freddy1984:
Нет такого оператора в данном контексте... А код будет примерно таким: |
|
------- Последний раз редактировалось YuS_2, 26-08-2019 в 20:14. Отправлено: 20:04, 26-08-2019 | #17 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Freddy1984:
Условие было таким: Цитата Freddy1984:
|
||
------- Отправлено: 10:46, 27-08-2019 | #18 |
Старожил Сообщения: 147
|
Цитата YuS_2:
Можно тогда ещё один вопрос в догонку? У меня после "$var`n`$1" в строку идёт ещё один replace, но в консоли пишет "Отсутствует выражение после "," То есть ругается на то что после запятой идут кавычки как я понял. А эти кавычки можно как то заэкранировать? Просто пробовал по разному, но что то не выходит.. Что то типа '"$var`n`$1"' Запускаю в пакетнике через powershell -c |
|
Последний раз редактировалось Freddy1984, 27-08-2019 в 11:23. Отправлено: 11:15, 27-08-2019 | #19 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Freddy1984:
меньше будет проблем |
|
------- Отправлено: 12:20, 27-08-2019 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
phpQuery парсер одной строки заголовка | Dark_Delphin | Вебмастеру | 1 | 06-10-2018 15:16 | |
Сделать элементы списка одной высоты в пределах каждой строки | Мамелюк | Вебмастеру | 0 | 25-11-2015 19:17 | |
MSFT SQL Server - Как перенести строки из одной базы в другую sql server 2008 r2 | Order | Программирование и базы данных | 4 | 04-02-2015 11:00 | |
[решено] Разбить данные одной строки по полям формы | support23 | AutoIt | 5 | 19-09-2012 15:18 | |
CMD/BAT - Поиск слова в тексте, удаление строки, удаление 8 строк выше и 3 строк ниже | Alk-13 | Скриптовые языки администрирования Windows | 0 | 10-02-2012 18:06 |
|