runawk

Software screenshot:
runawk
Software ətraflı:
Version: 1.5.0
Tarixi Upload: 19 Feb 15
Geliştirici: Aleksey Cheusov
Lisenziya: Pulsuz
Məşhurluq: 20

Rating: nan/5 (Total Votes: 0)

runawk modul sistemi impements və bağımsız AWK proqramları yazmaq üçün kömək edir AWK tərcüməçi üçün kiçik banderol edir.
MOTİVASİYA
Proqramlaşdırma AWK istifadə il sonra mən gördük baxmayaraq ki,
onun sadəlik və məhdudiyyətlər AWK geniş scripting üçün kifayət qədər yaxşı
müxtəlif vəzifələri üçündür. AWK onların böyük kimi poweful deyil
Perl, Ruby, TCL və başqaları kimi həmkarları lakin öz var
demək olar ki, bütün sıxlıq, sadəlik və mövcudluğu kimi üstünlükləri
UNİX kimi sistemləri. Mən şəxsən də onun data-idarə təbiət kimi və
mö'cüzə orientation, sadə mətn emal üçün çox faydalı texnika
kommunal.
Amma! Təəssüf ki, tərcüməçilər bir sıra mühüm xüsusiyyətləri məhrum AWK və
bəzən bu istəklərinin kimi yaxşı deyil çalışır.
Bəzi problemlər I (əlbəttə, onlardan bəziləri bax).
1) AWK modulları dəstək yoxdur. Mən kiçik proqramları yaratmaq olsa da, mən
tez-tez əvvəllər yaradılmış funksiyaları istifadə etmək istədiyiniz və artıq istifadə
Digər scripts. Yəni, onu funksiyaları orginise böyük istəklərinin
belə ki, kitabxana (modul) çağırıb.
2) # dəlilləri keçmək üçün! / Usr / bin / awk f script (deyil awk üçün
tərcüməçi), bu bir siyahısını prepand lazımdır
(iki minus Signes) - ilə dəlilləri. Mənim fikrimcə, bu pis görünür.
Məsələn:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / awk f
& Nbsp; & nbsp; & nbsp; {BEGIN
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; (i = 1; i argc & Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; printf "argv [% d] =% s" i, argv [i]
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; }
Shell sessiyası:
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: məhəl unknown seçimi --opt1
& Nbsp; & nbsp; & nbsp; / Usr / bin / awk: məhəl unknown seçimi --opt2
& Nbsp; & nbsp; & nbsp; % Awk_program - --opt1 --opt2
& Nbsp; & nbsp; & nbsp; Argv [1] = - opt1
& Nbsp; & nbsp; & nbsp; Argv [2] = - opt2
& Nbsp; & nbsp; & nbsp; %
Mənim fikrimcə awk_program script kimi (bu kimi işləməlidir
normal proqramları yoxdur)
& Nbsp; & nbsp; & nbsp; % Awk_program --opt1 --opt2
& Nbsp; & nbsp; & nbsp; Argv [1] = - opt1
& Nbsp; & nbsp; & nbsp; Argv [2] = - opt2
& Nbsp; & nbsp; & nbsp; %
Bu runawk istifadə mümkündür.
3) #! / Usr / bin / awk f script dəlilləri (variantları emal) və istədiyi zaman
stdin oxumaq üçün, əlavə etmək lazımdır
Explicitely son arqument kimi - / dev / stdin (və ya `).
Məsələn:
awk_program:
& Nbsp; & nbsp; & nbsp; #! / Usr / bin / awk f
& Nbsp; & nbsp; & nbsp; {BEGIN
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {(argv [1] "--flag" ==) əgər
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; flag = 1
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Argv [1] = "" adlı faylı oxumaq deyil # "--flag"
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; print "bayraq =" bayraq "$ 0 =" $ 0
& Nbsp; & nbsp; & nbsp; }
Shell sessiyası:
& Nbsp; & nbsp; & nbsp; % Echo test | awk_program - --flag
& Nbsp; & nbsp; & nbsp; % Echo test | awk_program - --flag / dev / stdin
& Nbsp; & nbsp; & nbsp; bayraq = 1 $ 0 = test
& Nbsp; & nbsp; & nbsp; %
İdeal awk_program bu kimi işləməlidir
& Nbsp; & nbsp; & nbsp; % Echo test | awk_program --flag
& Nbsp; & nbsp; & nbsp; bayraq = 1 $ 0 = test
& Nbsp; & nbsp; & nbsp; %
Bütün bu probles runawk tərəfindən həll edilir və mən bunu yazdı niyə bu.
Mən də paylanması runawk üçün bir neçə modulları daxildir
Mənim üçün faydalı və mən də sizin üçün faydalı olacaq.
INSTALLATION
0) BSD etmək tələb olunur. Mən yalnız 'etmək "ad deyil, onun əsl adı bilər
& Nbsp; & nbsp; . & nbsp dəyişir; bmake və pmake mümkün adları var.
& Nbsp; & nbsp; Siz default bina seçim dəyişdirmək istəyirsinizsə,
& Nbsp; & nbsp; bu kimi etmək run
& Nbsp; & nbsp; & nbsp; & nbsp; ENV [YOUR_ASSIGNMENTS] etmək
& Nbsp; & nbsp; Aşağıdakı misal saytına baxın
Bu kimi nazil etdik 1) Sıkıştırmasını tarball
& Nbsp; & nbsp; gzip -dc runawk-X-Y-Z.tar.gz | tar -xf-
2) cd runawk-X-Y-Z
3) etmək
4) (optional) yüklemek-dirs etmək
5) bərpa etmək
Zamanı dəyişdirilə bilər Makefile dəyişənlər var
. quraşdırma & nbsp; Runawk öz dəyişənlər (Bütün onlar başında var
Makefile):
& Nbsp; prefiks & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Runawk yüklü
& Nbsp; MODULESDIR & nbsp; & nbsp; & nbsp; & nbsp; - Modulları ilə yüklü kataloq
& Nbsp; AWK_PROG & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - Awk tərcüməçi yolu
& Nbsp; STDIN_FILENAME - yol stdin cihaz fayl
Ən çox istifadə BSD etmək üzrə dəyişənlər (
bütün başqaları üçün -) etmək üzrə sənədlərin və .mk faylları
& Nbsp; BINDIR - burada özü yüklü çalıştırılabilir runawk
& Nbsp; Mandir - əl pages yüklü olduğu
& Nbsp; BINOWN - yürütülebilir sahibi runawk
& Nbsp; BINGRP - yürütülebilir qrup runawk
& Nbsp; MANOWN - man səhifə sahibi
& Nbsp; MANGRP - man səhifə qrup
Məsələn:
& Nbsp; & nbsp; ENV CC = gcc
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; PREFIX = / home / cheusov / local
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; LDFLAGS = '- L / usr / Pkg / lib -Wl, -Wl -rpath / usr / Pkg / lib "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; LDADD = -lextralib
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; CFLAGS = '- Werror -Divar'
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; CPPFLAGS = -Mən / usr / Pkg / daxil
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; BINGRP istifadəçilər =
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANOWN = cheusov
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MANGRP istifadəçilər =
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; MKCATPAGES = no
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; -s bütün dirs quraşdırma

Bu azad Yeni nədir bərpa edin:

  • variantları -i, -İ və bütün uzun variantları tamamilə çıxarıldı.
  • seçim T sekmeli giriş üçün əlavə edildi.
  • man səhifə rəsmiləşdirilir v seçin.
  • gcc tərtib xəbərdarlıq üçün giderir.

  • Qeyri-boş MAKEOBJDIR ilə tərtib giderir
  • .
  • NEW, runcmd.awk və insan pages Typo giderir.

versiya 1.4.4 yeni nədir

müvəqqəti kataloq alt dizinler aradan qaldırılması bir səhv

  • etdi Sabit.
  • runawk_modules.3 üçün təkmilləşdirilməsi.

nədir versiya 1.4.3-ci Yeni

  • paexec (1) istifadə etmir sistemi ( 3) Artıq müvəqqəti kataloq aradan qaldırılması üçün.
  • funksiyası print_help () init_getopt.awk üçün power_getopt.awk modul köçürülmüşdür.

nədir versiya 1.4.2-ci Yeni

  • Bu versiya bütün modulları var runawk_modules.3 edir sənədləşdirilmiş, uzun variantları deprecates i və -İ variantları rədd et və pod2man bina üçün lazım deyil, belə ki, distribution tarball adam pages ehtiva edir.

versiya 1.4.0 yeni nədir:

  • exitnow.awk ildə exitnow (status) funksiyası indi END bölmələr çalışan olmadan script icra başa olsa status == 0.
  • funksiyaları is_ {fayl dir, exec, rozetka İMİM metodu, blockdev, chardev, symlink} daxildir io.awk yeni modulu, file_size və file_type. tokenre.awk yeni funksiya splitre0 var ().

versiya 1.3.2 yeni nədir:

  • Daxili serialların artıq avtomatik olaraq köçürülən olunur. Bu xargs (1), məsələn, pişik files.txt ilə birlikdə runawk (1) istifadə giderir |. Xargs runawk e '...'

versiya 1.3.0 yeni nədir:

  • Intel C compiler xəbərdarlıq mesajı üçün fix.

  • Modules / shquote.awk olan
  • funksiyası shquote (A fix).
  • layihənin mənbə kodu beləliklə asan hər hansı bir subproject quraşdırılması imkan yenidən edilmişdir. Nümunələri, modulları, runawk, alt_getopt və doc (TODO, README və s files)

versiya 1.1.0 yeni nədir:

  • A -F seçimi əlavə edildi
  • Yeni ord.awwas ftrans_in.awk və glob.awk modulları daxil edilmişdir.
  • Yeni alt_getopt yürütülebilir shell scripts qısa və uzun variantları təhlil üçün daxil edilmişdir.
  • Yeni min3, min4, min5, min_key, min_value və key_of_min_value (min.awk) və max3, max4, max5, max_key, max_value və key_of_max_value (max.awk) funksiyaları təmin edildi.
  • Yeni nümunələri əlavə edildi. Nümunələri / demo_minmax, misal / demo_tokenre3, misal / demo_ftrans, nümunələri / demo_glob *
  • A yeni bir xüsusiyyət multisub.awk əlavə edildi.
  • Kiçik irəliləyişlər quraşdırma proseduru edilmişdir.

nədir versiya 0.16.0-ci ildə Yeni

  • ən runawk modulları üçün demo proqramları çox yaradılmışdır və indi nümunələri / alt var. Yeni MEGA modulu;-) sənədləşdirmə və demo proqram nümunələri / demo_power_getopt bax power_getopt.awk. Bu, həqiqətən, asan user variantları edir. Yeni modulları: embed_str.awk has_suffix.awk has_prefix.awk readfile.awk modinfo.awk Kiçik düzeltmelerini və dirname.awk və basename.awk təkmilləşdirilməsi. İndi onlar dirname (1) və basename ilə tam uyğun gəlir (1) RUNAWK uşaq awk subprocess üçün aşağıdakı mühit dəyişənləri edir: RUNAWK_MODC - AWK RUNAWK_MODV_ keçdi modulları bir sıra (f fayl) - Full yol modul #N üçün n [0..RUNAWK_MODC) intervalında olduğu. "Awk dəlillərinə siyahısına əlavə edildi -` əlavə / süni əgər RUNAWK 1 uşaq awk subprocess üçün RUNAWK_ART_STDIN mühit dəyişən edir. Makefile: bmake-ism çıxarıldı. İndi Makefile FreeBSD etmək ilə tam uyğun gəlir. CLEANFILES hədəf 'test_all "hədəf əl qaydalar Kiçik fix əvəzinə istifadə olunur

Oxşar proqram

PyRuby
PyRuby

11 May 15

Cake
Cake

14 Apr 15

Bocfel
Bocfel

17 Feb 15

BAIK
BAIK

11 May 15

Geliştirici digər proqram Aleksey Cheusov

paexec
paexec

20 Feb 15

mk-configure
mk-configure

20 Feb 15

DictEm
DictEm

20 Feb 15

Şərh runawk

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!