- ベストアンサー
ファイルの行数取得
超初心者です。 いま、表計算的なスクリプトを記述しています。 あるファイルの行数を取得する関数ってあるんでしょうか? ファイルに記述されている数値を足したり引いたりするのですが、forを使っての計算の際にファイルの行数が必要となりました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Perlにですね。ないはずです。 行数とはファイルに書かれた改行文字の個数ということなので 実際にファイルを全て読み込まないと行数はわかりません。 以下のように色々な方法があると思います #### 単純な例 $a = 0; open FD, "<file.txt" || die $!; while (<FD>) { $a++; } close FD; print "行数:$a\n"; ### 少しマニアックな方法 open FD, "<file.txt" || die $!; @a = <FD>; close FD; print "行数:" . ($#a + 1) + "\n"; ### 反則的方法(外部コマンド) ... UNIXの場合 print "行数:" . `wc -l file.txt` . "\n";
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
#1でも仰っているように、ファイルを全部読んでみないことには、ファイルの行数はわかりません。 ファイルが読み終わっているなら $. で取得することができます。
お礼
ありがとうございました。 「単純な例」で進めていくことにしました。