Войти

Показать полную графическую версию : [решено] Замена строки из одного файла в другом по маске


blackeangel
09-11-2015, 18:13
Всем доброго и бодрого времени суток!
Прошу помощи по написанию батника, который бы копировал строки типа:
ro.function=mt6582_ghfkv
Либо заменить 6582 на любые другие цифры взятые в другом файле в котором есть такая же строчка.
То есть копировал бы между файлами то что стоит после знака равно.
Основной меткой является:
ro.function=
Возможно и даже приветствуется использование sed.Вот там
ro.mediatek.platform=MT6582
mediatek.wlan.chip=CONSYS_MT6582
mediatek.wlan.module.postfix=_consys_mt6582
В этих строках после равно может быть какое угодно значение,число,буквенное выражение.
Поэтому проще заменить эти строки из одного файла в другой.Расположение в файле этих строк тоже различное.
В вложении примеры.

blackeangel
09-11-2015, 18:15
Вот пример забыл

blackeangel
10-11-2015, 16:05
Как сделать проще?
Это кастыли,но они работают
for /f "delims=[] tokens=1*" %%a in ('find /i "mediatek.wlan.chip" ^< "Stok\system\build.prop"') do (
for /f "delims=[] tokens=1*" %%b in ('find /i "mediatek.wlan.chip" ^< "Port\system\build.prop"') do (
bin\sed.exe -i "s/%%b/%%a/g" Port\system\build.prop
)
)
for /f "delims=[] tokens=1*" %%a in ('find /i "mediatek.wlan.module.postfix" ^< "Stok\system\build.prop"') do (
for /f "delims=[] tokens=1*" %%b in ('find /i "mediatek.wlan.module.postfix" ^< "Port\system\build.prop"') do (
bin\sed.exe -i "s/%%b/%%a/g" Port\system\build.prop
)
)
for /f "delims=[] tokens=1*" %%a in ('find /i "ro.mediatek.platform" ^< "Stok\system\build.prop"') do (
for /f "delims=[] tokens=1*" %%b in ('find /i "ro.mediatek.platform" ^< "Port\system\build.prop"') do (
bin\sed.exe -i "s/%%b/%%a/g" Port\system\build.prop
)
)




© OSzone.net 2001-2012