Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Множественная замена слов в файлах .html (http://forum.oszone.net/showthread.php?t=293565)

willss 06-01-2015 15:22 2452630

Множественная замена слов в файлах .html
 
Здравствуйте!
Помогите пожайлуста сделать множественную замену слов в большом количестве файлов html.

К примеру в папке C:\Documents and Settings\admin\Рабочий стол\ER2\es-1 лежит 500 html файлов,
нужно чтобы батник находил и менял слова:
no=yes
hi=bye
today=morrow
и так далее.
Сам не могу разобраться((
Заранее очень благодарен за помощь.

sov44 07-12-2015 20:29 2582476

Посоветуйте утилиту (батником вряд-ли получится) по замене в некоторых строках значения checked="1" на checked="0" в html файле.

Foreigner 07-12-2015 21:11 2582489

sov44, С помощью sed
Код:

@echo off
setlocal

pushd "C:\Documents and Settings\admin\Рабочий стол\ER2\es-1"

for %%i in (*.html) do (

        sed -e "s/no/yes/g"      ^
            -e "s/bye/hellow/g"  ^
            -e "s/today/morrow/g" "%%i" > "%%~ni.tmp"

)

for %%i in (*.tmp) do move "%%i" "%%~ni.html"
popd


Iska 07-12-2015 21:17 2582491

Цитата:

Цитата sov44
в некоторых строках »

Чем будет определять отличие «некоторых» строк от не «некоторых»?

sov44 07-12-2015 21:37 2582496

Foreigner, благодарю! sed успешно заменил одно значение на другое, но по всему html. А может утилита менять параметр по условию? Например заменить параметр checked="1" на checked="0" только для id="sovetnikEnabled" и id="aviaBarEnabled" ?

upd решено
Код:

sed -e "/sovetnikEnabled/s/1/0/g" ^
    -e "/aviaBarEnabled/s/1/0/g" options.html > options-1.html

мануал

Foreigner 07-12-2015 22:19 2582505

sov44, Попробуйте так:
Код:

@echo off
setlocal

sed -re "s:(id=\"aviaBarEnabled\" checked=)\"1\":\1\"0\":g" ^
    -e "s:(id=\"sovetnikEnabled\" checked=)\"1\":\1\"0\":g" options.html > options.tmp



Время: 09:42.

Время: 09:42.
© OSzone.net 2001-