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

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

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

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


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

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


Уважаемые эксперты, прошу помощи.
Требуется написать батник выполняющий следующее:
Необходимо в текстовом файле test1.txt, состоящим из нескольких строк найти текст "zamena" и заменить его на заранее определенную переменную, а результат сохранить в файле test2.txt.
Заранее благодарю.

Отправлено: 20:55, 05-01-2012

 

Ветеран


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

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


Yurich75,
Т.е. "zamena" это не обязательно отдельное слово?
С помощью sed:
Код: Выделить весь код
@echo off
setlocal

set "replace=some text"
sed "s/zamena/%replace%/g" test1.txt 1>test2.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:28, 06-01-2012 | #2



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

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


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


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

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


Foreigner, благодарю, еще до того как запостил сюда, попытался найти ответ и естественно наткнулся на sed.
Хотел конечно обойтись без сторонних утилит, редакторов и пр. Закинул сюда вопрос, потом еще порыл инет, и вот что нашел:
вот тут лежит утиль gsar: http://home.online.no/~tjaberg/
Собственно автор сразу дал описание, что делает эта утиль. Собственно мне и нужен такой реплэйсер, т.к. старый - 16-ти разрядный
не работает под win64.
У меня получилось решить мою задачку вот так:

gsar -s"zamena" -r%1 -f test1.txt test2.txt

Текст zamena из первого файла заменяется параметром, который получает cmd (bat) и результат сохраняется в другой файл.
Все работает. Единственное - параметр надо указывать в кавычках (как и заменяемый текст), но работает и так, если указываем без кавычек.
Сейчас вот думаю, как к параметру добавить кавычки, т.к. изначально он без кавычек. Хоть и так все работает,
но в описалове к утили - сказано надо отдать в кавычках.

Отправлено: 19:09, 07-01-2012 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] в файле найти дату, скопировать символы, дописать перед символами в другом файле sucher Скриптовые языки администрирования Windows 7 10-03-2016 17:42
CMD/BAT - Заменить строки в бат файле Gala.qwer Скриптовые языки администрирования Windows 1 11-08-2011 19:16
CMD/BAT - С помощью bat-ника найти и заменить текст в файле на текст из другого файла Nun-Nun Скриптовые языки администрирования Windows 1 08-03-2011 15:25
[решено] Найти и заменить в текстовом файле. Как? Pozia AutoIt 15 11-03-2010 19:12
[решено] Как заменить строку [27] в файле? semiono AutoIt 8 05-04-2009 02:56




 
Переход