2010年6月18日金曜日

AWKプログラムを書く - AWK

o AWKの雰囲気
Hello, world
AWKプログラムを簡単に書く方法
AWKで最も短いプログラム
ファイルからデータを読み込む
タブ区切りでファイルを読み込む
文字列を組み立てる (性能調査結果)
プログラムの基本パターン
ローカル変数を使う

o 本編
▼AWKの機能一覧(関数、変数、制御文)▼ABC順
    ▼数値計算
    ▼文字列操作
        + ▼正規表現
        + ▼国際化対応 i18n(Gawk専用)
    ▼時刻取得
    ▼入出力とコマンド実行
        + ▼インターネット接続(Gawk専用)
    ▼パターンと制御文
    ▼配列操作

o その他
Gawkに付属しているサンプルプログラムの場所
他の方の便利メモ
----
o AWKプログラムを書く時に必要な情報について、簡単なガイドを作ることにしました。
o 文法や書き方のテクニックについては、他の方のページをご覧下さい。


==
関連ページ:
    ▼AWK
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼AWKプログラムを動かす
    ▼AWKを入手する
    Gawkの操作説明書(マニュアル)をオンラインで見る方法
    mawkの操作説明書(マニュアル)をオンラインで見る方法

AWKプログラムを動かす - AWK

o 一般的な使い方
AWKプログラムを、コマンドプロンプト画面に直接書いて実行する(Windows)
AWKプログラムを別ファイルに書いて実行する
標準出力と標準エラー出力。AWKプログラムの出力結果をファイルに書き出す
沢山の入力ファイルを簡単に処理する
AWKのバージョンを確認する

o 実行オプションの確認
Gawkで、オプション一覧を表示する
Gawkの操作説明書(マニュアル)をオンラインで見る
mawkの操作説明書(マニュアル)をオンラインで見る
the one true awk(オリジナルAWK)の実行オプション一覧

o 設定と手入力
AWKを実行する時に、プログラムファイルを複数指定する
AWKプログラム実行時に変数を設定する
AWKで入力ファイルの指定を不要にする
AWKの入力ファイルを、AWKプログラムの中で追加、削除(= キャンセル)する
入力ファイルを手入力する
AWKPATH = コマンドでAWKファイル名を指定する時、ファイルの場所を省略する(Gawk, mawk32専用)

o 使い方の豆知識
GawkをオリジナルのAWK互換モードで動かす
Gawkを mawk互換モードで動かす
AWKプログラムを速く動かす方法
----
o オプション関連の情報は、こちらに追加する予定です。
o Windows上でAWKを実行する時は、コマンドプロンプト画面の記事もどうぞ


==
関連ページ:
    ▼AWK
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    > ▼AWKプログラムを書く
    ▼AWKを入手する

AWKを入手する - AWK

AWK
AWKの種類と特徴
Gawk4 Windows版実行ファイルの入手方法
Windows 版gawk, mawkを入手する
Windows版nawkを入手する
Windows版nawkを、自分でビルドする
AWKプログラムを他の言語に変換する方法。AWK to Perl, C, C++
Windows版AWKの配布元一覧(awk, mawk, Gawk)
AWK本家のホームページの場所
----
o UNIXについては、AWKが入っていない場合でも、追加インストール出来ると思います。
    + レンタルサーバーに入っていない時は、ソースコードを入手して、自分でmakeする方法が一般的みたいです。


==
関連ページ:
    ▼AWK
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    > ▼AWKプログラムを動かす
    ▼AWKプログラムを書く

Windows版AWKの配布元一覧(awk, mawk, Gawk) - AWK

AWKを入手する
使った事があるものを纏めました。他にもあると思います。

**** Gawk
** Gawk バージョン 4
o ▽ezwinports版(最新版は 4.0.2)
   + 英語版との事です。日本語対応は未確認
   + Gawkのexeファイルダウンロードリンクは、gawk-4.0.2-w32-bin.zip です。
o ▽Klabaster-Homepage版(最新版は 4.0.1)
   + 英語版との事です。日本語対応は未確認
   + Gawkのダウンロードリンクは、ページの中央やや下にあります。

** Gawk バージョン 3
o Gawk on Windows(最新版は 3.1.7)
   + 2010年11月3日現在、公開停止中でした。
   + 日本語対応が強化されています。Windowsで最新機能を使いたい方向けです。
o ▽gawk 3.1.5 for Windows(Vector)
   + 日本語対応が強化されています。個人サイトからのダウンロードに不安がある方向けです。
o ▽Gawk for Windows(最新版は 3.1.6)
   + 公開ページの雰囲気を見た限りでは、UNIX版Gawkを、極力そのままの形で移植しているみたいです。
o ▽Cygwinに含まれているgawkパッケージ
   + UNIXのコマンドに慣れている方向けです。
   + UNIX版Gawkを、極力そのままの形で移植しているみたいです。
   + インストール方法も独特ですので、分からない事はWeb検索します。
o その他、Vectorなどにある、古いバージョンのGawk
   + レンタルサーバー用のプログラムを作る時は、役に立つかもしれません。
   + レンタルサーバー内にGawkが見当たらない時は、mawkやオリジナルawkで動くように書きます。

** ご参考。Gawkオリジナルのソースコード
o ▽Gawk - GNU Project - Free Software Foundation (FSF)


**** mawk
o ▽mawk MBCS (32bit版)(Vector)
   + 日本語対応が強化されています。Gawkに合わせて、時刻系の関数が追加されていました。
   + 日本語対応度は、Gawk on Windowsよりも弱いです。(全角文字を2文字と数えます)
o ▽Mawk for Windows
   + 公開ページの雰囲気を見た限りでは、UNIX版mawkを、極力そのままの形で移植しているみたいです。
   + 日本語は、文字化けする事がありました。(1.3.3)(この時の文字コードは、Shift-JIS)

** ご参考。mawkオリジナルのソースコード(Debian版)
o Debian 安定板(squeeze)の mawk パッケージ


**** awk / nawk
o ▽Nawk for Windows
   + オリジナルのAWK(= ベル研究所バージョン)を改善したものです。
   + このプログラムの名前も the one true awkですが、オリジナルと区別して nawk と呼ばれています。
o ▽the one true awk (ベル研究所バージョン)
   + AWK言語開発者が作ったプログラムです。ソースコードも同じページにあります。
   + Windows版の実行ファイルは、「Windows executable」と書かれたリンクからダウンロード出来ます。
   + 日本語は、文字化けする事がありました。(updated May 1, 2007)(この時の文字コードは、Shift-JIS)

** ご参考。nawkオリジナルのソースコード
o ▽newest Awk (nawk)
   + AWK言語開発者の一人が公開している、the one true awkの最新版


**** その他、Webで話題になった処理系
o JGAWK = ▽jgawk MSDOS用実行形式(Vector)
   + Gawk 2.15の頃に作られた日本語対応版です。今のGawkよりも、mawk に近いです。
   + CAD(= 製図システム)関係で重宝されています。
   + この他、10年以上前に書かれたAWK参考書やWebページの影響で、人気(?)が高いです。
   + 最新版は、Gawk 3.0.6 + multi-byte extension 1.15あたり。個人レベルで流通しているみたいです。

** 以下、私は試していませんが、次の処理系の話題も聞いた事があります。
o xgawk = ▽XMLgawk Home Page
   + XML文書を簡単に読み込む事が出来るみたいです。
o Jawk = ▽Jawk - AWK for Java
   + Java上で動くAWK処理系です。Javaプログラムを混ぜて使う事が出来るみたいです。


==
関連ページ:
    ▼AWKを入手する
    ▼AWK
    ▼制作メモ
    > AWK本家のホームページの場所
    AWKの種類と特徴
    Windows 版gawk, mawkを入手する
    ▼AWKプログラムを動かす
(2012年10月4日追加。Gawk4)
(2011年7月15日追加。nawk関係)