ブックマーク / codezine.jp (3)

  • シェル芸に使える、確実で高速なデータ処理が得意なAWKのテクニック集刊行

    ビッグデータの利用や人工知能の発展にともなって大量のデータを高速で処理しなければならなくなり、UNIXで開発された言語・AWKが見直されています。しかし、最も古い言語の一つであるがゆえに最新のノウハウを紹介した書籍がまだ少ないのが現状。そこで翔泳社では、『「シェル芸」に効く!AWK処方箋』を刊行します。 『「シェル芸」に効く!AWK処方箋』は、日 GNU AWKユーザー会の斉藤博文さんによる『シェルスクリプトマガジン』(USP研究所発行、CodeZineにも転載)の連載と、斉藤さんへのインタビュー記事をまとめた単行です。 AWKは1970年代にUNIXで開発された言語で、今なお高速でデータ処理を行うために使われています。書ではAWKが得意とする文字列処理だけでなく、時刻を取得する関数や数値演算を行う方法、連想配列(通常の配列と同じように扱える)、真髄の一つであるフィールド(列)を操る

    シェル芸に使える、確実で高速なデータ処理が得意なAWKのテクニック集刊行
    ryuichiueda
    ryuichiueda 2017/02/01
    めでたい
  • シェルコマンドを使った処理の効率化は AWKの行(レコード)操作がカギをにぎる

    編注1:「シェル芸」とは、UNIXシェル(主にbash)のワンライナーを駆使して文字列加工を自由自在に操ることです。また、そのような能力をもつ人をシェル芸人と呼びます。 「行」=「レコード」 デフォルトでAWKは「行」を「レコード」というものとして扱います。正しくは組込変数RS (Record Separater) で区切られたものをレコードと呼びますが、デフォルトでは、この組込変数RSは改行になるため、行がレコードそのものになります。また、このレコード単位の分割は、アクションでテキストファイルを読み込むと必ず行われるものとなっているため、ユーザーが特別に分割処理をしなくてもレコード単位で扱ってくれる、とても便利な仕組みです。 特殊なものとして、段落単位で読み込むために組込変数RSに空文字列を代入するものや、GNU AWK編注2ではファイル全体をひとつのレコードとして読み込む手法、組込変数

    シェルコマンドを使った処理の効率化は AWKの行(レコード)操作がカギをにぎる
    ryuichiueda
    ryuichiueda 2014/05/26
    今回は私のような素人にも優しい。
  • 簡単で、奥深くて、超便利! LLの元祖「AWK」にさわってみよう

    編注1:「シェル芸」とは、UNIXシェル(主にbash)のワンライナーを駆使して文字列加工を自由自在に操ることです。また、そのような能力をもつ人をシェル芸人と呼びます。 パターンとアクション AWKはパターンとアクションを組み合わせるプログラム言語です。日語で「もし○○だったら、○○をする」という文章のうち、「もし○○だったら」という部分がパターンであり、「○○する」という部分がアクションです注1。このようにパターンとアクションで構成されるAWKの基文法は直感的であるため、様々な機会で用いられます。これをAWKスクリプトで記述すると以下のようになります。 さて、「パターン」という名前から「正規表現にマッチする」ようなイメージを持たれるかもしれませんが、AWKのパターンは「条件式」そのものであり、その条件式の戻り値による「真偽」にしたがいアクションが実行されます。今回はこのパターンの真偽

    簡単で、奥深くて、超便利! LLの元祖「AWK」にさわってみよう
    ryuichiueda
    ryuichiueda 2014/05/08
    いきなり邪悪なパターンの使い方が・・・
  • 1