runawk

Screenshot Λογισμικό:
runawk
Στοιχεία Λογισμικού:
Εκδοχή: 1.5.0
Ανεβάστε ημερομηνία: 19 Feb 15
Προγραμματιστής: Aleksey Cheusov
Άδεια: Δωρεάν
Δημοτικότητα: 20

Rating: nan/5 (Total Votes: 0)

runawk είναι ένα μικροσκοπικό περιτύλιγμα για AWK διερμηνέα που impements μονάδα του συστήματος και βοηθά για να γράψει τα αυτόνομα προγράμματα AWK.
ΚΙΝΗΤΡΟ
Μετά από χρόνια χρήση AWK για τον προγραμματισμό έχω διαπιστώσει ότι παρά
απλότητα και τα όριά της AWK είναι αρκετά καλό για scripting ένα ευρύ
φάσμα διαφορετικών καθηκόντων. AWK δεν είναι τόσο poweful όσο μεγαλύτερο τους
ομολόγους όπως η Perl, Ruby, TCL και άλλους, αλλά έχει τη δική τους
πλεονεκτήματα όπως η πυκνότητα, την απλότητα και τη διαθεσιμότητα σε όλες σχεδόν τις
Συστήματα τύπου UNIX. Εμένα προσωπικά μου αρέσει, επίσης, τη φύση των δεδομένων με γνώμονα τον χρήστη και
συμβολικό προσανατολισμό, πολύ χρήσιμη τεχνική για απλή επεξεργασία κειμένου
επιχειρήσεις κοινής ωφέλειας.
Αλλά! Δυστυχώς awk διερμηνείς στερείται μερικά σημαντικά χαρακτηριστικά και
Μερικές φορές δεν λειτουργούν τόσο καλά όσο whould είναι.
Ορισμένα προβλήματα που βλέπω (μερικά από αυτά, φυσικά).
1) AWK στερείται την υποστήριξη για τις μονάδες. Ακόμα κι αν έχω δημιουργήσει μικρά προγράμματα, εγώ
συχνά θέλετε να χρησιμοποιήσετε τις λειτουργίες που δημιουργήθηκε νωρίτερα και έχει ήδη χρησιμοποιηθεί σε
άλλα σενάρια. Δηλαδή, whould μεγάλη για να orginise λειτουργίες σε
λεγόμενες βιβλιοθήκες (modules).
2) Για να περάσει επιχειρήματα #! / Usr / bin / awk -f σενάριο (για να μην awk
διερμηνέας), είναι αναγκαίο να prepand κατάλογο
επιχειρήματα με - (μείον δύο signes). Κατά την άποψή μου, αυτό φαίνεται άσχημα.
Παράδειγμα:
awk_program:
& Nbsp? & Nbsp? & Nbsp? #! / Usr / bin / awk -f
& Nbsp? & Nbsp? & Nbsp? Begin {
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? (i = 1? i & 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 συνεδρία:
& Nbsp? & Nbsp? & Nbsp? % Awk_program --opt1 --opt2
& Nbsp? & Nbsp? & Nbsp? / Usr / bin / awk: άγνωστη επιλογή --opt1 αγνοούνται
& Nbsp? & Nbsp? & Nbsp? / Usr / bin / awk: άγνωστη επιλογή --opt2 αγνοούνται
& Nbsp? & Nbsp? & Nbsp? % Awk_program - --opt1 --opt2
& Nbsp? & Nbsp? & Nbsp? Argv [1] = - OPT1
& Nbsp? & Nbsp? & Nbsp? Argv [2] = - opt2
& Nbsp? & Nbsp? & Nbsp? %
Κατά τη γνώμη μου awk_program script θα πρέπει να λειτουργήσει όπως αυτό (όπως
κανονικά προγράμματα κάνουν)
& Nbsp? & Nbsp? & Nbsp? % Awk_program --opt1 --opt2
& Nbsp? & Nbsp? & Nbsp? Argv [1] = - OPT1
& Nbsp? & Nbsp? & Nbsp? Argv [2] = - opt2
& Nbsp? & Nbsp? & Nbsp? %
Είναι δυνατή η χρήση runawk.
3) Όταν #! / Usr / bin / awk -f σενάριο χειρίζεται επιχειρήματα (επιλογές) και θέλει
να διαβάσει από το stdin, είναι απαραίτητο να προστεθεί
/ Dev / stdin (ή `- '), ως ένα τελευταίο επιχείρημα ρητά.
Παράδειγμα:
awk_program:
& Nbsp? & Nbsp? & Nbsp? #! / Usr / bin / awk -f
& Nbsp? & Nbsp? & Nbsp? Begin {
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? εάν (argv [1] == "--flag") {
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? σημαία = 1
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? Argv [1] = "" # να μην διαβάσετε το αρχείο με το όνομα "--flag"
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? }
& Nbsp? & Nbsp? & Nbsp? }
& Nbsp? & Nbsp? & Nbsp? {
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? εκτύπωσης "σημαία =" σημαία "$ 0 =" $ 0
& Nbsp? & Nbsp? & Nbsp? }
Shell συνεδρία:
& Nbsp? & Nbsp? & Nbsp? % Echo δοκιμή | awk_program - --flag
& Nbsp? & Nbsp? & Nbsp? % Echo δοκιμή | awk_program - --flag / dev / stdin
& Nbsp? & Nbsp? & Nbsp? σημαία = 1 $ 0 = δοκιμή
& Nbsp? & Nbsp? & Nbsp? %
Ιδανικά awk_program πρέπει να λειτουργήσει όπως αυτό
& Nbsp? & Nbsp? & Nbsp? % Echo δοκιμή | awk_program --flag
& Nbsp? & Nbsp? & Nbsp? σημαία = 1 $ 0 = δοκιμή
& Nbsp? & Nbsp? & Nbsp? %
Όλα αυτά τα probles λυθεί με runawk και αυτός είναι ο λόγος που το έγραψε.
Θα περιλαμβάνει επίσης μερικές μονάδες για να runawk διανομής που είναι
χρήσιμο για μένα και ελπίζω ότι θα είναι χρήσιμο για σας πάρα πολύ.
installation
0) BSD κάνουν απαιτείται. Ονομάζω απλά «κάνει», αλλά το πραγματικό όνομα του μπορεί να
& Nbsp? & Nbsp? ποικίλλουν. & nbsp? bmake και pmake είναι πιθανά ονόματα.
& Nbsp? & Nbsp? Εάν χρειαστεί να αλλάξετε τις προεπιλεγμένες επιλογές κτίριο,
& Nbsp? & Nbsp? τρέξει κάνουν σαν αυτό
& Nbsp? & Nbsp? & Nbsp? & Nbsp? env [YOUR_ASSIGNMENTS] κάνει
& Nbsp? & Nbsp? Δείτε το παράδειγμα παρακάτω ενότητα
1) Αποσυμπίεση συμπιεσμένο αρχείο που έχετε κατεβάσει, όπως αυτό
& Nbsp? & Nbsp? gzip -DC runawk-Χ-Υ-Z.tar.gz | πίσσα -xf-
2) cd runawk-Χ-Υ-Ζ
3) να
4) (προαιρετικό!) Make install-dirs
5) να εγκαταστήσετε
Υπάρχουν πολλά Makefile μεταβλητών που μπορεί να αλλάξει κατά τη διάρκεια της
. Εγκατάσταση & nbsp? Τις μεταβλητές Runawk (για όλα αυτά είναι στο ξεκίνημα της
Makefile):
& Nbsp? Πρόθεμα nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? - Όπου runawk είναι εγκατεστημένο σε
& Nbsp? MODULESDIR & nbsp? & Nbsp? & Nbsp? & Nbsp? - Κατάλογο όπου είναι εγκατεστημένες μονάδες σε
& Nbsp? AWK_PROG & nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? - Διαδρομή προς awk διερμηνέα
& Nbsp? STDIN_FILENAME - διαδρομή προς stdin αρχείο συσκευής
Μεταβλητές BSD μάρκα του (που χρησιμοποιούνται πιο συχνά,
για όλους τους άλλους - ανατρέξτε στην τεκμηρίωση του κατασκευαστή και .mk αρχεία)
& Nbsp? BINDIR - όπου runawk εκτελέσιμο ίδια έχει εγκατασταθεί σε
& Nbsp? MANDIR - όπου σελίδες του εγχειριδίου είναι εγκατεστημένα σε
& Nbsp? BINOWN - runawk εκτελέσιμο ιδιοκτήτη
& Nbsp? BINGRP - runawk εκτελέσιμο ομάδα
& Nbsp? MANOWN - ιδιοκτήτη τον man σελίδα
& Nbsp? MANGRP - άνθρωπος ομάδα σελίδων
Παράδειγμα:
& Nbsp? & Nbsp? env CC = gcc
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? Prefix = / home / cheusov / τοπικό
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? LDFLAGS = '- L / usr / pkg / lib -Wl, -rpath -Wl, / usr / pkg / lib »
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? LDADD = -lextralib
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? CFLAGS = "- Werror -Επιτοίχια»
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? CPPFLAGS = -I / usr / pkg / include
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? BINOWN = cheusov
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? BINGRP = users
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? MANOWN = cheusov
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? MANGRP = users
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? MKCATPAGES = όχι
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? κάνει -s all install-dirs εγκατάσταση

Τι είναι καινούργιο σε αυτήν την έκδοση:

  • Οι επιλογές -i, -Ι, και όλες οι μεγάλες επιλογές αφαιρείται εντελώς.
  • Η επιλογή -t προστέθηκε για καρτέλες εισόδου.
  • Η επιλογή -v τεκμηριώνεται στην σελίδα man.
  • Διορθώσεις για τις προειδοποιήσεις σύνταξη του ΣΣΚ.
  • Διορθώσεις για σύνταξη με μη-κενό MAKEOBJDIR.
  • διορθώσεις Typo σε νέες, runcmd.awk, και σελίδες man.

Τι είναι καινούργιο στην έκδοση 1.4.4:

  • Ένα σφάλμα στην αφαίρεση υποκαταλόγους σε έναν προσωρινό κατάλογο ήταν σταθερό.
  • Βελτιώσεις για runawk_modules.3.

Τι είναι καινούργιο στην έκδοση 1.4.3:

  • (1) δεν χρησιμοποιεί το σύστημα paexec ( 3) πια για την αφαίρεση του προσωρινό κατάλογο.
  • Η print_help λειτουργία () μεταφέρθηκε από τη μονάδα power_getopt.awk να init_getopt.awk.

Τι είναι καινούργιο στην έκδοση 1.4.2:

  • Αυτή η έκδοση προσθέτει runawk_modules.3 όπου βρίσκονται όλες οι μονάδες τεκμηριωμένη, υποτιμά τη μεγάλη επιλογές, απομακρύνει τα -i και -Ι επιλογές, και περιλαμβάνει σελίδες man στο πακέτο διανομής έτσι pod2man δεν είναι απαραίτητη για την κατασκευή.

Τι είναι καινούργιο στην έκδοση 1.4.0:

  • Σε exitnow.awk, η exitnow (κατάσταση) λειτουργία τελειώνει τώρα την εκτέλεση του script, χωρίς να τρέχει ακραία τμήματα, ακόμη και αν == κατάσταση 0.
  • Η νέα μονάδα io.awk περιλαμβάνει τις λειτουργίες is_ {αρχείο, dir, exec, υποδοχή, FIFO, blockdev, chardev, συμβολικού συνδέσμου}, file_size, και FILE_TYPE. tokenre.awk έχει το νέο splitre0 λειτουργία ().

Τι είναι καινούργιο στην έκδοση 1.3.2:

  • Εσωτερική συστοιχίες τώρα μεταφερθεί αυτόματα. Αυτό καθορίζει τη χρήση του runawk (1) σε συνδυασμό με xargs (1), π.χ., files.txt γάτα |. Xargs runawk -e »...»

Τι είναι καινούργιο στην έκδοση 1.3.0:

  • Μια ενημέρωση κώδικα για ένα προειδοποιητικό μήνυμα μεταγλωττιστή Intel C.
  • Η ενημέρωση κώδικα για το shquote λειτουργία () από μονάδες / shquote.awk.
  • Ο πηγαίος κώδικας του έργου έχει αναδιοργανωθεί, επιτρέποντας έτσι την εύκολη εγκατάσταση του κάθε υποέργου:. Παραδείγματα, ενότητες, runawk, alt_getopt, και doc (TODO, README, κλπ αρχεία)

Τι είναι καινούργιο στην έκδοση 1.1.0:

  • Η επιλογή -F προστέθηκε
  • Νέα ord.awwas ftrans_in.awk, και ενότητες glob.awk συμπεριλήφθηκαν.
  • Ένα νέο alt_getopt εκτελέσιμο περιλήφθηκε για την ανάλυση βραχυπρόθεσμες και μακροπρόθεσμες επιλογές σε σενάρια κελύφους.
  • Νέα min3, min4, min5, min_key, min_value, και key_of_min_value (min.awk), και MAX3, max4, τεχνολογία MAX5, max_key, max_value, και key_of_max_value (max.awk) οι λειτουργίες που παρέχονται.
  • Νέα δείγματα προστέθηκαν:. Παραδείγματα / demo_minmax, παραδείγματα / demo_tokenre3, παραδείγματα / demo_ftrans, παραδείγματα / demo_glob *
  • Ένα νέο χαρακτηριστικό προστέθηκε στο multisub.awk.
  • Μικρές βελτιώσεις έγιναν κατά τη διαδικασία εγκατάστασης.

Τι είναι καινούργιο στην έκδοση 0.16.0:

  • δημιουργήθηκαν πολλά προγράμματα επίδειξης για τις περισσότερες μονάδες runawk και είναι σε παραδείγματα / υποκατάλογο τώρα. Νέα MEGA ενότητα?-) Power_getopt.awk Δείτε την τεκμηρίωση και το πρόγραμμα επίδειξης παραδείγματα / demo_power_getopt. Κάνει επιλογές χειρισμό πολύ εύκολο. Νέες ενότητες: embed_str.awk has_suffix.awk has_prefix.awk readfile.awk modinfo.awk μικρές διορθώσεις και βελτιώσεις σε dirname.awk και basename.awk. Τώρα που είναι πλήρως συμβατά με dirname (1) και basename (1) RUNAWK καθορίζει τις ακόλουθες μεταβλητές περιβάλλοντος για το παιδί υποεπεξεργασία awk: RUNAWK_MODC - Μια σειρά από ενότητες (-f όνομα αρχείου) πέρασε στην AWK RUNAWK_MODV_ - Πλήρης διαδρομή για τη μονάδα #n , όπου n είναι σε [0..RUNAWK_MODC) φάσμα. RUNAWK θέτει RUNAWK_ART_STDIN μεταβλητή περιβάλλοντος για το παιδί awk υποδιεργασία προς 1, εάν οι πρόσθετες / τεχνητή `- 'προστέθηκε στη λίστα με τα επιχειρήματα της awk του. Makefile: bmake-ισμό αφαιρέθηκαν. Τώρα Makefile είναι πλήρως συμβατή με το FreeBSD κάνουν. Στόχος CLEANFILES χρησιμοποιείται αντί χειροποίητων κανόνες Μικρά Φιξ στο στόχο «test_all»

Παρόμοια λογισμικά

wempy
wempy

20 Feb 15

SWIG
SWIG

7 Mar 16

Avian
Avian

20 Feb 15

Άλλο λογισμικό του προγραμματιστή Aleksey Cheusov

DictEm
DictEm

20 Feb 15

paexec
paexec

20 Feb 15

LMDBG
LMDBG

20 Feb 15

mk-configure
mk-configure

20 Feb 15

Σχόλια για runawk

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!