Yささん < こん??は でび です
On Fri, 29 Feb 2008 20:16:22 +0900 (JST)
saw@...-nokuchi2pho.ne.jp (Yさ) wrote:
> でびさん版をなるべく活かすとしたら
ありがとうございます。
いろんなアプローチが学べるのがTSの良いところですね。
先にbook2csv.awk [改]だけを読んだので、
> for(i=2; i<NF; i+=3){
で3を足しまくっているのが何だかわからず、
印刷して色ペン持って15分考え込みました。
> gawk -f j.awk book_list.txt | gawk -f book2csv.awk
前処理で、ガッ!とまとめるんですね。
処理を途中で分ければスコープの切り分けも
自ずとできるということには全く思い至りませんでした。
> prev!=$1 {
のように、否定の条件式でいきなり変数宣言して
その瞬間に有効となるのって、改めて考えると、
なんだかすごいですよね。
実は、prevって予約語があるのかと、ググってしまいました。
printfで$0を出しているのは、改行が付かないという性質を
使って次行をドンドン追記している、というテクと理解して
良いですか?
暗黙に次行へ処理が移って、prev!=$1が成立するまで
ループが回っているように読み取ったのですが、
その解釈で合っているのか、ちと自信がありません。
−−−−−−−−−−
ところでawkの場合、1レコードの最長文字数ってメモリ依存
なのでしょうか。
たとえば、全ファイル1レコードにしちゃってから後処理する、
みたいな富豪プログラミングも理論的にはできるのだろーか、
とか気になってみたり。
でび http://davi.txt-nifty.com/1984/