Bruce.です。
davi さんは書きました:
>> function put_record() {
>
> に切り出したのは、$1で条件分岐して
>
>> put_record()
>
> を2回呼ぶからなのか、そこだけスコープを発生させたいため
> なのか、どちらの理由ですか?
あー、それは prev!=$1 のときと、最後までファイルを読み取ったときの両方で
レコードの吐き出しをしなければいけないので、同じ処理を別のところに二回書
くのを避けただけです。
#よだん: prev == previous で、前の行の$1を保持しているよという意味をこめ
てます。
#previous xxxx なものを保持する変数の名前を prev とするのは割りとよくあ
ります。
まったく同じコードを複数個所に書き散らすのはバグの元ですから、そうしなけ
ればならない
という理由がないのであれば避けるべきことです。
>> なにもawkでやらんでもという気が
>
> awk的には不得手なデータ構造なんでしょうか?
まあ得意とはいえないでしょうね。
たとえば著者名がアルファベットで記述されていて、その名前にカンマが含まれ
ていたりすると
とっても楽しいことになります。
#回避できるっちゃーできますけど。
あとは、でびさんご推察の通り「構造体の配列」とか「配列の配列」みたいなのが
awkはできませんからして。
ところで
>bash-3.2$ awk -f book1.awk < book_list.txt
なぜわざわざリダイレクトしてデータを喰わせているのでしょうか? >moriさん
--
木村浩一/KIMURA Koichi
I thought what I'd do was, I'd pretend I was one of those deaf-mutes or
shoud I?
mail kbk at kt.rim.or.jp
web www.kt.rim.or.jp/~kbk/zakkicho/index.html