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

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

Ответить
Настройки темы
CMD/BAT - [решено] замена текста (несколько строк)

Ветеран


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

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


Здравствуйте, имеется код:

Код: Выделить весь код
@echo off

set "word_or_frase=Download"
set "replacement=Download1"

for %%i in (
"C:\Users\Alexander\OneDrive\work\new\old.txt"

 ) do (
 echo WScript.Echo^(Replace^(WScript.CreateObject^("Scripting.FileSystemObject"^).OpenTextFile^(%%i^).ReadAll^(^),"%word_or_frase%","%replacement%"^)^)>.vbs
 cscript //nologo .vbs| clip
 mshta "vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(1).Write(ClipboardData.GetData("text"))&Close()"| more>%%i
 )
del .vbs
Он делает замену текста в txt файле с
Код: Выделить весь код
Download
на
Код: Выделить весь код
Download1
Как сделать, чтобы слово
Код: Выделить весь код
Download
изменилось на:
Код: Выделить весь код
<prefix>$s</prefix>
Download
?
т.е. выше каждого встречного слова "Download" в txt документе, нужно добавить строку с содержимым
Код: Выделить весь код
<prefix>$s</prefix>

Отправлено: 05:30, 18-10-2018

 

Ветеран


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

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


Какой лютый трэш и угар

Перейти с vbscript на jscript, и тогда использовать литералы перевода строки \r\n прямо в переменной замены.

Отправлено: 10:19, 18-10-2018 | #2



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

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


Ветеран


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

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


Код: Выделить весь код
sed-4.5.exe -i "s/Download/<prefix>$s<\/prefix>\nDownload/g" "file.txt"

Последний раз редактировалось alpap, 18-10-2018 в 16:11.

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

Отправлено: 15:55, 18-10-2018 | #3


Ветеран


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

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


Цитата alpap:
sed-4.5.exe -i "s/Download/<prefix>$s<\/prefix>\nDownload/g" "file.txt" »

Код: Выделить весь код
"sed-4.5.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Отправлено: 01:30, 19-10-2018 | #4


Ветеран


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

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


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

Отправлено: 02:07, 19-10-2018 | #5


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата Alexander_88:
т.е. выше каждого встречного слова "Download" в txt документе, нужно добавить строку с содержимым »
Если буквально, т.е. без учета, что там уже может находиться такая строка и местоположение в строке слова "Download", не имеет значения:
powershell
Код: Выделить весь код
(gc test.txt -enc utf8) -replace "(\bDownload\b)","<prefix>`$s</prefix>`n`$1"|sc test.txt -enc utf8

-------
scio me nihil scire. Ѫ

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

Отправлено: 10:21, 19-10-2018 | #6


Ветеран


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

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


спасибо

Отправлено: 19:16, 19-10-2018 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочие БД - Семантический анализ текста(Подсчёт количества одинаковых строк в списке) Валодя1111 Программирование и базы данных 3 10-09-2017 23:25
CMD/BAT - [решено] Замена строк. angel_lyucifer Скриптовые языки администрирования Windows 18 20-02-2017 23:37
CMD/BAT - [решено] Копирование нескольких строк текста в файл delure Скриптовые языки администрирования Windows 27 19-05-2016 09:14
CMD/BAT - Замена нескольких строк в файле bcubbs@fb Скриптовые языки администрирования Windows 3 24-01-2013 14:01
CMD/BAT - [решено] Замена строк конфига The_Name Скриптовые языки администрирования Windows 4 22-09-2009 11:19




 
Переход