ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [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