[devel] gawk interactive shell
Peter V. Saveliev
=?iso-8859-1?q?peet_=CE=C1_altlinux=2Eru?=
Ср Апр 13 14:31:45 MSD 2005
...
В общем, посмотрел я на питон и сказал "хочу" :)) Искать было лень, за 15 минут
накидал скриптик.
http://radlinux.peet.spb.ru/files/related/gawk-interactive-1.00-rad1.src.rpm
http://radlinux.peet.spb.ru/files/related/gawk-interactive-1.00-rad1.noarch.rpm
Требует rlwrap и gawk. Может служить пособием "как не надо писать программы",
но всё же работает и для простой замены тестовых запусков "awk 'BEGIN {}'" мне
его более чем хватает.
Если кому ещё понадобится, могу накидать ман/хелп/и т.д.
Коротко об использовании (пока README не прикрутил)
a = цифра -- объявить числовую переменную
b = "текст" -- обявить строковую переменную
c = операции -- выполнить операции и загнать в строковую переменную
dump -- показать переменные
clean -- стереть все переменные
type X str|num -- поменять тип переменой X на str (строка) или num (число)
exit -- выход
func(); func(); func() -- выполнить последовательность операторов в awk, подставив
переменные.
Например:
$ gawk-interactive
rush 0# a = "text"
(str) 'a' = text
rush 1# b = 5
(num) 'b' = 5
rush 2# c = b*2 + 1
(str) 'c' = 11
rush 3# d = gensub(/x/,"s","",a)
(str) 'd' = test
rush 4# dump
(str) 'a' = text
(num) 'b' = 5
(str) 'c' = 11
(str) 'd' = test
rush 5# print(a"\t"b"\t"c"\t"d)
text 5 11 test
rush 6# exit
Exiting
ЗЫ: использовать рекомендуется только в учебных или тестовых целях :))
ЗЗЫ: с массивами не работает. Просто пока не думал на эту тему.
ЗЗЗЫ: если паче чаяния будет востребовано -- продолжу развивать :)
--
Peter V. Saveliev
Подробная информация о списке рассылки Devel