Автор Тема: Передача ключей в SED  (Прочитано 100 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Mashulechka [?]

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

Код: AutoIt [Выделить]
$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)
 

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

Русское сообщество AutoIt

Передача ключей в SED
« Отправлен: Октябрь 12, 2018, 14:40:14 »

Помечен как лучший ответ пользователем Mashulechka Отправлен Октябрь 12, 2018, 16:28:55

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3939
  • Репутация: 1043
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Передача ключей в SED
« Ответ #1, Отправлен: Октябрь 12, 2018, 15:50:35 »
А вы для чего MsgBox используете? Для проверки строки или на окошко посмотреть? ;)

Кавычка у вас после s, а должна быть до
Код: AutoIt [Выделить]
$key2='"s/'


Оффлайн Mashulechka [?]

  • Новичок
  • *
  • Сообщений: 3

  • Автор темы
  • Репутация: 0
  • Пол: Женский
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Передача ключей в SED
« Ответ #2, Отправлен: Октябрь 12, 2018, 16:31:19 »
Аха - для проверки строки.
Зарябило от кавычек :)
Но после правки всё-равно замены не происходит, печалька...

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3939
  • Репутация: 1043
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Передача ключей в SED
« Ответ #3, Отправлен: Октябрь 12, 2018, 16:47:42 »
Mashulechka  [?]
Цитировать
всё-равно замены не происходит
Попробуйте указать полный путь к sed-4.5-x64.exe и полный путь к текстовому файлу.

Русское сообщество AutoIt

Re: Передача ключей в SED
« Ответ #3 Отправлен: Октябрь 12, 2018, 16:47:42 »

Оффлайн Mashulechka [?]

  • Новичок
  • *
  • Сообщений: 3

  • Автор темы
  • Репутация: 0
  • Пол: Женский
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Передача ключей в SED
« Ответ #4, Отправлен: Октябрь 18, 2018, 11:54:42 »
Немного помучившись, поняв что проблема кроется в сочетаниях кавычек, пошло другим путём.
В переменную собираю команду, потом её запускаю.
Так заработало. :)

Русское сообщество AutoIt

Re: Передача ключей в SED
« Ответ #4 Отправлен: Октябрь 18, 2018, 11:54:42 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
5503 Просмотров
Последний ответ Сентябрь 15, 2010, 18:06:01
от Yuriy
6 Ответов
5809 Просмотров
Последний ответ Октябрь 08, 2010, 11:37:45
от Yashied
3 Ответов
5142 Просмотров
Последний ответ Январь 30, 2012, 23:48:19
от nu3dell
8 Ответов
3122 Просмотров
Последний ответ Январь 06, 2012, 12:42:00
от Black_Night
2 Ответов
2347 Просмотров
Последний ответ Апрель 13, 2012, 17:43:30
от Isn
7 Ответов
6396 Просмотров
Последний ответ Август 01, 2012, 20:12:33
от snoitaleR
2 Ответов
1088 Просмотров
Последний ответ Сентябрь 09, 2015, 19:04:21
от InnI
4 Ответов
991 Просмотров
Последний ответ Декабрь 04, 2015, 09:02:21
от Medic84
13 Ответов
2245 Просмотров
Последний ответ Май 12, 2016, 20:40:58
от AZJIO
22 Ответов
856 Просмотров
Последний ответ Июнь 08, 2018, 22:46:28
от qwertypower