runawk

ソフトウェアのスクリーンショット:
runawk
ソフトウェアの詳細:
バージョン: 1.5.0
日付のアップロード: 19 Feb 15
開発者: Aleksey Cheusov
ライセンス: 無料
人気: 20

Rating: nan/5 (Total Votes: 0)

runawkはモジュールシステムをimpements、スタンドアロンAWKプログラムを書くのに役立ちますAWKインタプリタ用の小さなラッパーです。
のMOTIVATION
プログラミングにAWKを使用して数年後、私はのにもかかわらず、あることを見つけた
そのシンプルさと限界AWKは広いのスクリプトには十分である
異なるタスクの範囲。 AWKは彼らの大きなほどpowefulではない
PerlやRubyの、TCLなどのようなカウンターパートが、それは自分自身を持って
ほとんどすべての上のコンパクトさ、シンプルさと可用性のような利点
UNIXライクなシステム。私は個人的にもそのデータ駆動型の自然が好き
トークンの向き、単純なテキスト処理のために非常に有用な技術
ユーティリティ。
しかし!残念ながらawkの通訳は、いくつかの重要な機能が欠けていると
時にはそれがwhouldほど良好ではない仕事。
いくつかの問題が、私は(もちろん、それらのいくつかを、)を参照してください。
1)AWKはモジュールのサポートを欠いている。私は小さなプログラムを作成する場合でも、私
多くの場合、以前に作成した関数を使用したいとすでにで使用
他のスクリプト。つまり、それはへの機能をorginiseのは素晴らしいwhould
そうライブラリ(モジュール)と呼ばれる。
2)#に引数を渡すためには!は、/ usr / bin / awkは-fスクリプト(ではないのawkへ
インタプリタ)、それはリストをprepandすることが必要である
(2マイナスシーニュ) - と引数。私の見解では、これはひどく見えます。
の例:
awk_program:
    #!は、/ usr / bin / awkは-f
   ベギン{
       {(;;私はARGCを          printfの「ARGV [%のD] =%sの "、私は、ARGV [I]
       }
    }
シェルセッション:
    %awk_program --opt1 --opt2
   は、/ usr / bin / awkは:未知のオプションは無視--opt1
   は、/ usr / bin / awkは:未知のオプションは無視--opt2
    %awk_program - --opt1 --opt2
    ARGV [1] = - OPT1
    ARGV [2] = - OPT2
    %
私の意見のawk_programスクリプトで同じように(次のように動作するはずです
通常のプログラムを行う)
    %awk_program --opt1 --opt2
    ARGV [1] = - OPT1
    ARGV [2] = - OPT2
    %
それはrunawkを使用して可能である。
3)#!は、/ usr / bin / awkは-fスクリプトは引数(オプション)を処理したいとき
標準入力から読み込むためには、添加する必要がある
明示的に最後の引数として - の/ dev / stdinを( 'または `)。
の例:
awk_program:
    #!は、/ usr / bin / awkは-f
   ベギン{
       {(ARGV [1] == "--flag」)の場合
         フラグ= 1
          ARGV [1] = ""という名前のファイルを読んでいないために# "--flag」
       }
    }
    {
      プリント "フラグ="フラグ "0ドル=" 0ドル
    }
シェルセッション:
    %エコー検査| awk_program - --flag
    %エコー検査| awk_program - --flagは/ dev / stdinを
   フラグ= 1 0ドル=テスト
    %
理想的にはawk_program次のように動作するはずです
    %エコー検査| awk_program --flag
   フラグ= 1 0ドル=テスト
    %
これらのすべてのproblesはrunawkによって解決されると、私はそれを書いたのはこのためです。
私はまた、ある分布をrunawkためにいくつかのモジュールを含む
私と私のために有用なのは、あまりにもあなたのために役立つことを願っています。
<強い>インストールの
0)BSDのメイクが必要です。私はそれだけで「作る」という名前が、その本当の名前は、かもしれない
&NBSP;&NBSP;異なります。&nbsp; bmakeとpmakeのは、可能な名前です。
&NBSP;&NBSP;デフォルトの建物のオプションを変更する必要がある場合は、
&NBSP;&NBSP;このようにmakeを実行する
&NBSP;&NBSP;&NBSP;&NBSP; ENV [YOUR_ASSIGNMENTS]作る<目標>
&NBSP;&NBSP;以下の例の項を参照してください
あなたはこのようにダウンロードした1)解凍したtarball
&NBSP;&NBSP; GZIP -dc runawk-X-Y-Z.tar.gz |タール-xf-
2)CDのrunawk-X-Y-Z
3)を作る
4)(オプション!)-dirsのをインストールする
5)をインストールする
中に変更することができるMakefileの変数がたくさんあり​​ます
インストールます。&nbsp; Runawk自身の変数(それらはの冒頭にあるすべての
Makefileの):
&NBSP; PREFIX&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 - 標準入力デバイスファイルへのパス
BSDのmakeの変数(最も一般的に使用され、
すべての他人のために - )makeのドキュメントとの.mkファイルを参照してください。
&NBSPに、BINDIR - 実行ファイル自体runawkにインストールされている
&NBSP; MANDIR - マニュアルページがにインストールされている
&NBSP; BINOWNは - 実行ファイルの所有者をrunawk
&NBSP; BINGRPは - 実行グループをrunawk
&NBSP; MANOWN - manページの所有者
&NBSP; MANGRP - manページ·グループ
の例:
&NBSP;&NBSP;のenv CC = gccの
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; PREFIX = /ホーム/ 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 -Wall」
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; CPPFLAGS = -Iは/ usr / PKG /含める
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; BINOWN = cheusov
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; BINGRPは、ユーザーを=
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; MANOWN = cheusov
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; MANGRPは、ユーザーを=
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; MKCATPAGES =なし
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; 、

  • のオプションは-i、-I:-s全てがインストール-dirsのをインストールします。

    このリリースのの新機能作るそして、すべての長いオプションが完全に除去されたします。

  • オプション-Tは、タブ付きの入力のために追加されました。
  • のmanページに記載されて-vオプションます。

  • gccのコンパイル警告のための
  • 修正します。

  • 空でないMAKEOBJDIRとコンパイル用
  • 修正します。
  • NEW、runcmd.awk、およびマニュアルページで誤字修正します。

のバージョン1.4.4でのの新しい何が:バグ

  • 一時ディレクトリにサブディレクトリを削除していた固定します。
  • runawk_modules.3ための改善します。

のバージョン1.4.3でのの新機能は次のとおりです。

  • paexec(1)(システムを使用していません3)もはや一時ディレクトリを削除するためのます。
  • 関数print_help()はinit_getopt.awkするpower_getopt.awkモジュールから移動したします。

  • このバージョンでは、すべてのモジュールであるrunawk_modules.3が追加されます。

    のバージョン1.4.2にの新機能である文書化された、長いオプションが廃止、-iと-Iオプションを削除し、pod2manや、建物のために必要とされていないので、配布tarballにmanページが含まれます。

のバージョン1.4.0でのの新機能:

  • exitnow.awkで、exitnow(ステータス)機能は今のENDセクションを実行せずにスクリプトの実行を終了しても、ステータス== 0ます。
  • の機能is_ {ファイル、DIR、EXEC、ソケット、FIFO、BLOCKDEV、chardev、シンボリックリンクを}が含まio.awk新しいモジュール、FILE_SIZE、およびFILE_TYPE。 tokenre.awk)は(新しい関数splitre0を持っています。

のバージョン1.3.2でのの新機能は次のとおりです。

  • 内部の配列は自動的に再配置されます。 xargsのrunawk -e '...'
  • |これはxargsの(1)、例えば、猫files.txtにとの組み合わせでrunawk(1)の使用を修正します。
    インテルCコンパイラの警告メッセージの修正

    のバージョン1.3.0にの新機能である。
    モジュール/ shquote.awkから

  • 関数shquote(のための修正)します。
  • プロジェクトのソースコードは、このように、任意のサブプロジェクトの簡単なインストールを可能に、再編成されました:例、モジュール、runawk、alt_getopt、およびドキュメント(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モジュール;-)のドキュメントとデモプログラム例/ demo_power_getoptを参照してくださいpower_getopt.awk。それは本当に簡単にハンドリングのオプションになります。新モジュール:embed_str.awk has_​​suffix.awk has_​​prefix.awk readfile.awk modinfo.awkマイナー修正とdirname.awkとbasename.awkの改善。 - モジュールの数(-fファイル名は)AWK RUNAWK_MODV_に渡された - モジュール#NへのフルパスRUNAWK_MODC:今、彼らはdirnameは(1)とベース名と完全に互換性があり、(1)RUNAWKは、子awkのサブプロセスについては、次の環境変数を設定しますここで、nは[0..RUNAWK_MODC)の範囲である。追加/人工た場合RUNAWKは `1に子awkのサブプロセスのRUNAWK_ART_STDIN環境変数を設定します - 'awkのの引数にリストに追加されました。 Makefileの:bmake-ismが削除されました。今、MakefileはFreeBSDのメイクと完全に互換性があります。 CLEANFILES目標は「te​​st_all」ターゲットに手作りのルールマイナーフィックスの代わりに使用されます。

同じようなソフトウェア

Craft
Craft

20 Feb 15

Magic C++
Magic C++

3 Jun 15

lizpop
lizpop

14 Apr 15

開発者の他のソフトウェア Aleksey Cheusov

mk-configure
mk-configure

20 Feb 15

LMDBG
LMDBG

20 Feb 15

DictEm
DictEm

20 Feb 15

へのコメント runawk

コメントが見つかりません
コメントを追加
画像をオンにする!