• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:opendirで複数のディレクトリ呼び出しの簡素化)

opendirで複数のディレクトリ呼び出しの簡素化

このQ&Aのポイント
  • opendirを使用して複数のディレクトリから.datファイルの集計を簡素化する方法を教えてください。
  • 他のプログラムのコピーから無関係な記述があるかもしれませんが、ディレクトリから.datファイルの集計に焦点を当ててください。
  • ディレクトリ./a/kazu/、./b/kazu/、./c/kazu/から.datファイルの数を集計し、結果を出力したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

大文字小文字を無視するようにはなってないですが、無視する必要がありますか? @list=glob "./a/kazu/*.dat"; $kazu1=@list; @list=glob "./b/kazu/*.dat"; $kazu2=@list; @list=glob "./c/kazu/*.dat"; $kazu3=@list; $kazu= ($kazu1+$kazu2+$kazu3); print($kazu);

MakoNako
質問者

お礼

ファイル数を取得するぐらいであればglobでいいんですね ありがとうございました .datファイルの中には、大文字小文字のファイルが存在しています 今、教えていただいたのは大文字の.datファイルは数えない仕様になっているのでしょうか?

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>今、教えていただいたのは大文字の.datファイルは数えない仕様になっているのでしょうか? 試してはいないのですが、 windowsでは、ファイル名として扱う文字列は大文字小文字を区別しないので、関係ないですが、 多くのUNIX系のシステムでは、大文字と小文字を区別しますので、結果が違ってくる場合があると思います。 つまり filename.DATのようなファイルは数えられないと思います。 この場合問題になるのはdatの部分だけですので、 *.dat の部分を *.[Dd][Aa][Tt] とすれば dat,DAT,Datどれでもマッチするようになると思います

MakoNako
質問者

お礼

なるほど、大変勉強になりました♪ 実際、集計(数の表示)はうまく出来ています ありがとうございましたm(_ _)m

関連するQ&A