68user's page 掲示板

Prev< No. 4133> Next  [最新発言に戻る] [過去ログ一覧]
No. 4133 # 2005/04/25 (月) 22:34:50
Solaris8なのですが、Bシェルでnawkを使用して処理を
しています。
nawk内で関数を呼び出して処理をしているのですが、
その際、最終レコードかをNFで判断しているのですが、
上手く、判断してくれずに無限ループになってしまい
ます。

#/bin/sh

for FILE in `ls *.txt"`
do
    nawk -F" " '
    BEGIN {
        count = 0+0 ;
    }
    function sub() {
        while (NF>0) {
            if ($1 == "") {
                    処理
            } else {
                    処理
            }
            getline ;
        }
        return 0;
    }
    {
        if (NF == 0) next ;
        ret=sub() ;
    }
    END {
            printf("%d\n",ret) ;
    }' ${FILE}
done

Prev< No. 4133> Next  [最新発言に戻る] [過去ログ一覧]