USP研究所ロゴマーク

プログラミング言語AWK

プログラミング言語AWK
商品コード
USP0001
書名
プログラミング言語AWK
著者
A.V.エイホ/P.J.ワインバーガー/ B.W.カーニハン/足立 高徳(訳)
本体価格
3,800円
※通販でご購入する際には、消費税・送料が別途加算されます。
仕様
A5判320頁
ISBN
978-4-904807-00-2

1989年に初めての邦訳が刊行され、その後何回か絶版の憂き目にあいつつも、不死鳥のごとく蘇り、様々な出版社から復刊を果たしている「プログラミング言語AWK」。この度、awkファンの熱い声に支えられ、USP出版から3回目の復刊を果たします。

テキスト処理と演算に絶大な効果を発揮する「awk」は、開発当時の1970年代から、開発者たちによって「30年後に真価がわかるだろう」と予言されていたといいます。

本書は、テキスト処理スクリプト言語の原点「awk」開発者たちによる、多種多様な例題を収録した読み応えたっぷりの解説書です。この本でしか味わえない、原著の奥深さを味わってください。

注文ボタン

buy from amazon

目次

第1章 AWK入門

1-1 手はじめに

AWKプログラムの構造

AWKプログラムの実行

エラー

1-2 単純な出力

全部の行の印字

特定の欄の印字

欄の数のNF

計算と印字

行番号の印字

文章の出力

1-3 凝った出力

欄の模様がえ

出力の整列

1-4 選択

比較による選択

計算による選択

文の中身による選択

パターンの組み合わせ

データの検証

BEGINとEND

1-5 AWKによる計算

数え上げ

和と平均の計算

文章の操作

文字列の隣接

最後の入力行の印字

組み込み関数

行数,単語数,文字数の数え上げ

1-6 制御文

If-Else文

While文

For文

1-7 配列

1-8 便利な「一行野郎」たち

1-9 お次は何?

第2章 AWK言語

入力ファイルcontries

プログラムの書式

2-1 パターン

BEGINとEND

パターンとしての式

文字列照合パターン

正規表現

複合パターン

範囲を示すパターン

パターンのまとめ

2-2 アクション

制御文

空文

配列

2-3 ユーザ定義関数

2-4 出力

print文

出力区切子

printf文

ファイルへの出力

パイプへの出力

ファイルとパイプの閉鎖

2-5 入力

入力区切子

副行レコード

getline関数

コマンド行での変数への代入

コマンド行引数

2-6 他のプログラムとの組み合わせ

system関数

AWKプログラムをシェル・コマンドに

2-7 まとめ

第3章 データ処理

3-1 データ変換と導出

コラムの和

百分率と分位の計算

コンマつきの数

固定欄入力

プログラムの相互参照検査

書式付出力

3-2 データの検証

対応の取れた区切り子

パスワード・ファイルの検査

データ検証プログラムの生成

どっち版のAWK?

3-3 BUndleとunbndle

3-4 複行レコード

空行で区切られたレコード

複行レコードの処理

ヘッダとトレイラつきのレコード

名前と値からなるデータ

3-5 まとめ

第4章 レポートとデータベース

4-1 レコードの生成

単純なレポート

もう少し複雑なレポート

4-2 パッケージ化された質問とレポート

定型書簡

4-3 関係データベース・システム

自然和

relfile

AWKもどきの問い合わせ言語q

qからawkへの翻訳プログラムqawk

4-4 まとめ

第5章 語句処理

5-1 文章の無作為生成

無作為選択

決まり文句の生成

乱れ文

5-2 対話的文章操作

能力テスト:算数

能力テスト:クイズ

5-3 文章処理

単語の数え上げ

文書整形

相互参照の一貫性保持

KWIC検索の生成

索引の生成

5-5 まとめ

第6章 小さな言語

6-1 アセンブラとインタープリタ

6-2 グラフ生成言語

6-3 整列生成プログラム

6-4 逆ポーランド電卓

6-5 普通の電卓

6-7 まとめ

第7章 アルゴリズムの実験

7-1 整列

挿入法

分割法

整列2分木法

7-2 輪郭分析

7-3 位相整列

広さ優先の位相整列

深さ優先の探索

深さ優先の位相整列

7-4 Make:ファイル更新プログラム

7-5 まとめ

第8章 エピローグ

8-1 言語としてのAWK

8-2 効率

8-3 結論

付録A AWKのまとめ

付録B 演習問題回答

©2016 Universal Shell Programming Laboratory