Я использую порт Windows sed.exe
.
Когда я делаю что-то подобное прямо из командной строки:
sed.exe -i "s/WRITE;/WRITE; TRUNCATE TABLE `Team_matchdayResults`;/g" my_script.sql
все работает безупречно, а текстовые части изменены в файле my_script.sql
.
Теперь я хочу сделать то же самое, но из файла .bat
. Что я знаю, так это то, что мне нужно избегать двойных кавычек, поэтому я сделал это так.
sed.exe -i ""s/WRITE;/WRITE; TRUNCATE TABLE `Team_matchdayResults`;/g"" my_file.sql
К сожалению, это заканчивается следующей ошибкой
sed.exe: -e expression #1, char 15: unterminated `s' command
Я полагаю, что мне нужно избежать чего-то большего, но я, кажется, понятия не имею, что именно. Я где-то читал это ;
должен быть экранирован в пакетном файле, но только в цикле FOR
. Однако это не привело меня дальше.
От чего мне еще бежать?