@Ymamoro

Всем привет! Как с помощью регулярных выражений (или скрипта, может быть) можно было бы сделать так?

Есть 2 скрипта Autoit: в них есть много функций wiki_1. И чтобы быстро их переименовать мне показалось что можно использовать регулярные выражения, используя редактор SciTE Editor
Как и в отношении параметра Send("+{TAB
#cs ----------------------------------------------------------------------------


В этом примере просто нужно  добавить единицу к цифрам после tab
#ce ----------------------------------------------------------------------------

;~  есть
Send("+{TAB 133}")
Send("+{TAB 135}")
Send("+{TAB 136}")
Send("+{TAB 137}")

;~ нужно
Send("+{TAB 134}")
Send("+{TAB 136}")
Send("+{TAB 137}")
Send("+{TAB 138}")

#cs ----------------------------------------------------------------------------
В этом примере просто нужно дописать букву а к названию функций
#ce ----------------------------------------------------------------------------
;~ есть
wiki_1()
wiki_2()
wiki_3()
wiki_4()
wiki_5()
wiki_6()

;~   нужно
wiki_1а()
wiki_2а()
wiki_3а()
wiki_4а()
wiki_5а()
wiki_6а()
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ответы на вопрос 1
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
$ cat in1.txt
Send("+{TAB 133}")
Send("+{TAB 135}")
Send("+{TAB 136}")
Send("+{TAB 137}")

$ cat in1.txt | perl -e 'while(<>){if ($_=~/(Send\("\+\{TAB )(\d{3})(\}"\))/){ $a=$2+1;print $1.$a.$3."\n"; }}'
Send("+{TAB 134}")
Send("+{TAB 136}")
Send("+{TAB 137}")
Send("+{TAB 138}")

$ cat in2.txt
wiki_1()
wiki_2()
wiki_3()
wiki_4()
wiki_5()
wiki_6()

$ cat in2.txt | perl -e 'while(<>){if ($_=~/(wiki_\d+)(\(\))/){ print $1."a".$2."\n"; }}'
wiki_1a()
wiki_2a()
wiki_3a()
wiki_4a()
wiki_5a()
wiki_6a()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы