Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

著者情報

  • 斉藤 博文(サイトウヒロフミ)

    最初にAWKと出会ってから○十年、AWKの魅力に取りつかれ、勢い余って「日本 GNU AWKユーザー会」を立ち上げています。会としてOSCなどのイベントにも出展しつつ、GNU AWKの開発も手伝っています。「USP友の会」では幹事役ですが、「シェル芸勉強会」にはほぼ毎回参加して一緒に勉強しています。

執筆記事

  • 8324_00.png
    2015/01/26

    GNU AWKはまだまだ成長中! ユーザーの声をもとに作成された拡張機能を組み込んでみよう

     GNU AWK(以下、gawk)は標準でGNU MPFR(Multiple Precision Floating-Point Reliably)を用いた拡張があり、数値演算能力が大幅に改善されました。また、個別に拡張機能をロードすることも可能になっており、共有オブジェクトをロードすることにより従来のAWKではできなかった機能を拡張することができます。最終回の今回はこれらのGNU AWKならではの拡張機能について説明していきます。

  • 8323_00.jpg
    2014/12/25

    GNU AWKでCSVファイルを楽々あつかう組込変数FPATと、関数のインダイレクト呼び出し

     AWKはレコードセパレーター(RS)に従いレコードを分割し、フィールドセパレーター(FS)に従いフィールドに分割する言語ですが、この手法ではCSVファイルでフィールド内にカンマを含むような場合に処理を行うことが困難でした。そこでGNU AWKでは新たに組込変数FPAT(フィールドパターン)というものを導入することで簡単に扱えるようになりました。今回はこの組込変数FPATを中心に解説していきます。

  • 8322_00.jpg
    2014/12/10

    これは強力! AWKとパイプの新しい関係 ~ 時刻を取得する関数、Socket通信、双方向パイプ

     従来のAWKではパイプ処理で得られる情報は他のコマンドに任せようという発想でしたが、本格的に使う場合にはAWKそのもので処理できるとプログラムの記述が統一され分かりやすくなります。そうした中で最初に拡張されたものは時刻の取得に関する関数群でした。今回は時刻を取得する関数から、Socket通信や双方向パイプまで盛りだくさんの内容でGNU拡張された関数を解説していきます。

  • 8231_00.jpg
    2014/10/27

    正規表現がもっと使える! 直感的にも使いやすくなった最新GNU AWKの拡張機能を知る

     今回からGNU AWKの拡張について説明していきます。AWKは便利なツールですが、今まではある程度複雑なことを行おうとするとPerlやRubyなど他のスクリプト言語に頼っていた方も多かったと思います。GNU拡張によりAWKは大幅に拡張され、様々な用途での利用されることが期待されています。今回から数回に渡りGNU AWKで便利になった点を中心に解説していきます。

  • 8156_00.jpg
    2014/09/30

    AWKのトリッキーな配列&連想配列の仕組み・動作と目からウロコのテクニック

     今回は配列について学びます。通常の言語と異なり、AWKで用いられる配列はすべて連想配列として扱われます。とはいえ、連想配列でありながら、通常の配列と同じように扱える側面があるために、他のプログラミング言語を習得している方で違和感を覚える方もいるでしょう。これはAWKの作者たちが、配列と連想配列を同じように扱えるように工夫した歴史的な経緯によるものです。それでは、少し変わったAWKの配列を勉強していきましょう。

  • 8025_00.jpg
    2014/08/27

    シェルで表計算ができるかも!? AWKの四則演算と数値演算関数

     今回は、AWKで行う「数値演算」を解説します。AWKはテキスト処理に特化しているため、数値演算が苦手というイメージをお持ちの方が多いかもしれません。しかし、実は一般的な四則演算に加えて、多くの数値演算関数が実装されています。加えて本稿では、AWKをはじめとする多くの言語が2進数で計算を行っていることにより直面する問題に言及し、AWKがどこまでの数を計算できるのか検証します。

  • 7912_00.jpg
    2014/07/25

    AWKで一番の得意ワザ! シェルで文字列を自在に扱うための文字列関数

     AWKの最も得意とするものは文字列処理だと言われています。従来、Unix上で文字列を処理する一般的な方法は、sed(編注1)をはじめ、非常に特化した文法を有するプログラムで処理することでした。しかし、AWKの登場により汎用的でC言語ライクな、人が理解しやすい記述を行えるようになり、文字列処理の生産性が向上しました。今回はその文字列処理について説明します。また、AWKの生みの親の一人であるBrian Kernighan大先生からも提案された、ある変更についてお知らせします。

10件中1~7件を表示
戻る


All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5