Задать вопрос
  • Двойные кавычки в регулярных выражениях sed в окружении DOS

    @inscriptios Автор вопроса
    Ответ получил на другом ресурсе, необходимо было сделать две вещи:

    1. Использовать более новую версию утилиты sed.
    2. Заменить кавычки в теле скрипта на \x22.

    Итоговый код должен выглядеть следующим образом:

    @echo off
    set MOD=d:\ROM\KITCHEN\MOD
    set UnxUtils=d:\ROM\KITCHEN\TOOLS\UnxUtils\usr\local\wbin
    set TEMP=d:\ROM\KITCHEN\TEMP
    set /p ROMVER=Введите версию прошивки: 
    %UnxUtils%\sed.exe -e "/ROM/s/v\..*\x22/v.%ROMVER%\x22/g" %MOD%\META-INF\com\google\android\aroma-config > %TEMP%\aroma-config
    move /y %TEMP%\aroma-config %MOD%\META-INF\com\google\android\aroma-config
    pause

    или еще лучше так:

    @echo off
    set MOD=d:\ROM\KITCHEN\MOD
    set UnxUtils=d:\ROM\KITCHEN\TOOLS\UnxUtils\usr\local\wbin
    set TEMP=d:\ROM\KITCHEN\TEMP
    set /p ROMVER=Введите версию прошивки: 
    %UnxUtils%\sed.exe -e "/ROM v/s/\(ROM v\.\)[^\x22]*\x22/\1%ROMVER%\x22/g" %MOD%\META-INF\com\google\android\aroma-config > %TEMP%\aroma-config
    move /y %TEMP%\aroma-config %MOD%\META-INF\com\google\android\aroma-config
    pause
    Ответ написан
    Комментировать