復刊ドットコム

新規会員登録

新規会員登録

V-POINT 貯まる!使える!

プログラミング言語AWK

A. V. エイホ、P. J. ワインバーガー、B. W. カーニハン 著/足立高德 翻訳

4,180円(税込)

(本体価格 3,800 円 + 消費税10%)

お気に入りに追加

著者 A. V. エイホ、P. J. ワインバーガー、B. W. カーニハン 著/足立高德 翻訳
出版社 ユニバーサル・シェル・プログラミング研究所
判型 A5判
頁数 320 頁
ジャンル 専門書

商品内容

■本書の紹介
1989年に初めての邦訳が刊行され、その後何回か絶版の憂き目にあいつつも、不死鳥のごとく蘇り、様々な出版社から復刊を果たしている「プログラミング言語AWK」。この度、AWKファンの熱い声に支えられ、USP出版から3回目の復刊を果たします。
テキスト処理と演算に絶大な効果を発揮する「AWK」は、開発当時の1970年代から、開発者たちによって「30年後、ハードウェアの性能が向上するころに、その真価がわかるだろう」と予言されていたといいます。事実、インターネットの普及により、テキストで書かれたHTMLが大量に生成され、多くの人がテキストデータに触れるようになった昨今において、軽量で簡単にテキストを処理することができるAWKの良さが見直されつつあります。
本書は、テキスト処理スクリプト言語の原点「AWK」開発者たちによる、多種多様な例題を収録した読み応えたっぷりの解説書です。この本でしか味わえない、原著の奥深さを味わってください。



トッパン発行(左)と新紀元社発行(右)の表紙画像


■AWKとは?(Wikipediaより)
AWK(オーク)は、UNIX上で開発されたフィールド指向のテキスト処理スクリプト言語。
AWK は、ベル研究所における UNIX開発の過程で、sed や grep のようなテキスト処理ツールに演算機能を持たせた拡張ツールとして開発された。AWK の名前は、開発者であるアルフレッド・エイホ(Alfred Aho)、ペーター・ワインバーガ(Peter Weinberger)、ブライアン・カーニハン(Brian Kernighan)の3人の頭文字を取って付けられたものである。
元々 AWK は簡単なスクリプトを記述することで効率的にテキストファイルを処理することを目的として開発された。そのため、当初はそれほど多くの機能は無かったが、AWK が普及するにつれ、さまざまな処理を AWK で実行したいと考えるユーザーが増え、その希望に応えて機能の拡張が行われた。その結果、汎用のプログラミング言語と比べても遜色が無いほどの機能を持つようになり、開発者も予想しなかったような大規模なプログラミングに使われるような例もあらわれた。一方、本来のテキスト処理用ツールとしても扱いやすく、現在でもCSVやTSV形式のファイルを簡易に処理するなどの目的で広く使用されている。

■目次
第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 演習問題回答

■ユニバーサル・シェル・プログラミング研究所 出版部(略称:USP出版)について
USP出版は、有限会社ユニバーサル・シェル・プログラミング研究所の出版部門です。
多くの人々に必要とされ、長い年月の間読み続けられながらも、様々な理由によって、市場から姿を消したUNIXの技術書は数知れません。私たちUSP出版は、UNIX/Linux関連名著の復刊や、新刊技術書の編集・発行を通じ、日本のIT業界の技術発展に貢献していきたいと考えています。

もっと見る

関連キーワード

キーワードの編集

読後レビュー

レビュー投稿はこちら

おすすめ商品

V-POINT 貯まる!使える!