- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:opendirで複数のディレクトリ呼び出しの簡素化)
opendirで複数のディレクトリ呼び出しの簡素化
このQ&Aのポイント
- opendirを使用して複数のディレクトリから.datファイルの集計を簡素化する方法を教えてください。
- 他のプログラムのコピーから無関係な記述があるかもしれませんが、ディレクトリから.datファイルの集計に焦点を当ててください。
- ディレクトリ./a/kazu/、./b/kazu/、./c/kazu/から.datファイルの数を集計し、結果を出力したいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
大文字小文字を無視するようにはなってないですが、無視する必要がありますか? @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);
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
>今、教えていただいたのは大文字の.datファイルは数えない仕様になっているのでしょうか? 試してはいないのですが、 windowsでは、ファイル名として扱う文字列は大文字小文字を区別しないので、関係ないですが、 多くのUNIX系のシステムでは、大文字と小文字を区別しますので、結果が違ってくる場合があると思います。 つまり filename.DATのようなファイルは数えられないと思います。 この場合問題になるのはdatの部分だけですので、 *.dat の部分を *.[Dd][Aa][Tt] とすれば dat,DAT,Datどれでもマッチするようになると思います
質問者
お礼
なるほど、大変勉強になりました♪ 実際、集計(数の表示)はうまく出来ています ありがとうございましたm(_ _)m
お礼
ファイル数を取得するぐらいであればglobでいいんですね ありがとうございました .datファイルの中には、大文字小文字のファイルが存在しています 今、教えていただいたのは大文字の.datファイルは数えない仕様になっているのでしょうか?