タグ

2009年4月21日のブックマーク (2件)

  • 低水準ファイル入出力関数を使おう - 68user's page

    低水準ファイル入出力関数 perl でプログラミングするにしても、 基礎知識としてC言語のファイルディスクリプタの概念を知っておくにこしたことはありません。 特に 4引数 select を使うときには、 ファイルディスクリプタの知識があると理解が早いでしょう。 C言語でファイルを扱うときは、一般的に fopen・fread・fwrite・fclose などの ライブラリ関数を使います。これらは stdio.h で宣言されており、 標準入出力ライブラリ (標準入出力関数) と呼ばれます。 ファイルをオープンするときは FILE *fp; fp = fopen("file.dat", "r"); として FILE 構造体を得ます。それに対して fread・fwrite を実行します。 しかし、これら fopen・fread などのライブラリ関数も、 内部では open・read・write・c

    yanajy
    yanajy 2009/04/21
  • プログラム言語 awk Linux/Unix利用者向け一行コマンド

    1行プログラミング awk でデータの単純なフォーマット変換することを目的としています。 まず、次のようなデータ(/tmp/a とします)に対して、処理を行うことを考えます。 1 2 3 4 -5 6 7 8 0 9 10 113 入力行の総数を印字する 入力行の総数を出力します(他の方法 cat /tmp/a | wc)。 cat /tmp/a | awk 'END {print NR }' 実行結果 3 N行目の入力行を印字する 3行目の入力行を出力します(他の方法 cat /tmp/a | head -3 | tail -1)。 cat /tmp/a | awk 'NR==3' 実行結果 9 10 113 N個より多い欄を持つすべての入力行を印字する 1 行に3 個以上のデータが記述されている行をすべて出力する。 % cat /tmp/a | awk 'NF > 3 {print}'

    プログラム言語 awk Linux/Unix利用者向け一行コマンド
    yanajy
    yanajy 2009/04/21