* [devel] gawk interactive shell
@ 2005-04-13 10:31 Peter V. Saveliev
0 siblings, 0 replies; only message in thread
From: Peter V. Saveliev @ 2005-04-13 10:31 UTC (permalink / raw)
To: devel
...
В общем, посмотрел я на питон и сказал "хочу" :)) Искать было лень, за 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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-04-13 10:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-13 10:31 [devel] gawk interactive shell Peter V. Saveliev
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git