Что нового

Передача ключей в SED

Mashulechka

Новичок
Сообщения
3
Репутация
0
Здравствуйте!
На данный момент свою задачу реализую сначала скриптом AutoIT, в конце запускаю пакетный файл.
Работает, но как то не изящно.
Хочется перевести все части задачи в скрипт, но не могу понять - как.
В пакетном файле есть ряд задач для поиска и замены текста, например:
Код:
sed-4.5-x64.exe -i "s/ 2018+//g" file.txt
То бишь в файле file.txt ищутся все вхождения 2018+ и удаляются.
Попробовала так. В ini файл записала, что должно удаляться / заменятся.
Вроде собирается команда как надо.
Но не работает.

Код:
$sPath_ini = @ScriptDir & "\Ini.ini"
$sRead3 = IniRead($sPath_ini, "SED", "3", "")

$file1='sed-4.5-x64.exe'
$file2='file.txt'
$key1='-i'
$key2='s"/'
$key3='//g"'
$key4=' '
$key5=')'
$key6="'"
$run='Run ('

MsgBox(4096, "", "Комманда собирается в: " & $run & $key6 & $file1 & $key4 & $key1 & $key4 & $key2 & $sRead3 & $key3 & $key4 & $file2 & $key6 & $key5)

Run ($key6 & $file1 & $key4 & $key1 & $key4 & $key2 & $sRead3 & $key3 & $key4 & $file2 & $key6 & $key5)

Ключи как то не правильно передаются, а как правильно - понять не могу.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
А вы для чего MsgBox используете? Для проверки строки или на окошко посмотреть? ;)

Кавычка у вас после s, а должна быть до
Код:
$key2='"s/'
 
Автор
M

Mashulechka

Новичок
Сообщения
3
Репутация
0
Аха - для проверки строки.
Зарябило от кавычек :smile:
Но после правки всё-равно замены не происходит, печалька...
 
Автор
M

Mashulechka

Новичок
Сообщения
3
Репутация
0
Немного помучившись, поняв что проблема кроется в сочетаниях кавычек, пошло другим путём.
В переменную собираю команду, потом её запускаю.
Так заработало. :smile:
 
Верх