青木日記

<前の日 | この月 | 次の日>

2002-06-25

awk

始めて awk のコードを書いた。とりあえずはこんなのから。

df -h | egrep '^Filesystem|home' \
      | awk '{ print $2, "\t", $3, "\t", $4, "\t", $5 }'

実に頭悪いコードだ。でもいいのさ、結果が出れば……

発作

突如として「Schemeインタプリタが書きたくなる病」におかされた。

だめだ今はだめだ、耐えろ〜 >自分

ruby 1.1c9

いまさら ruby 1.1c9 をコンパイル。うわっ、エラー出まくり。なぜか strdup を extern 宣言してるとパースエラーになるようだ。ちょっと試してみたところ、-O2 なしだとならない。-O2 -E を見てみたら問題が発覚。strdup がマクロで memcpy に展開されてた〜。昔は問題になってなさそうなのは、その当時の gcc は strdup をマクロにしなかったということかな?

拡張モジュールのコンパイルも失敗しまくってるな。いいや、1.1c9 で curses や tk なんて使わんし。

うお、--program-suffix も効いてない……。面倒だから ruby 本体だけ手でインストールだ。

しかし懐かしいなあ。ぼくが最初に使った ruby は 1.1b9 でした。たぶん。

strdupが展開される理由……

うわ、ちげえよ。#include なしでは展開されないんだからgccがやってるはずない。 これだ。(string.h)

#if defined __GNUC__ && __GNUC__ >= 2
# if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined __cplusplus
/* When using GNU CC we provide some optimized versions of selected
   functions from this header.  There are two kinds of optimizations:
本日のツッコミ(全2件)
eban (2002-06-25 11:16)

egrepは無駄です。,の有無も結構重要
df -h | awk '/^Filesystem|home/{ print $2 "\t" $3 "\t" $4 "\t" $5 }'

あおき (2002-06-25 19:49)

をを なるほど、ありがとうございます。
カンマがあると空白がはさまるのですね。


<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|