$0 [dirname]
指定されたディレクトリから、i階層下にあるディレクトリで、さらにそこからj階層下まで
何かディレクトリを持つものが何個あるのかを、行列状に示す。縦方向がiで、横方向がjに対応。
シンボリックリンクのディレクトリは辿らない。存在する場合は、その数を出力する。
dirname が指定されない場合は、現行ディレクトリが指定されたものと見なされる。
出力表の解説 :
1. 出力表において、「+」と表記された列は、i階層の合計値を示す。「++」は累積和。
2. 最も左の列は i = 1,2,3.. を示す。最初の列の内、数は j = 0,1,2,..,(i-1)を示す。
3. j=0 (対応する各ディレクトリは子ディレクトリを持たない)は黄色で示した。
その部分に対応するディレクトリの例が、最も右の列に黄色で示される。
(ディレクトリの例は、ランダムに抽出される。再現性の確保のため -s でシードが指定可能。)
4. マゼンタ(紫)色で、各i(基点からのディレクトリ深さ)に対応するシンボリックリンファイルの
ディレクトリの個数を示す。
5. オプションの-fの指定により、plainファイルの個数を数える。
出力表の最後の行の2列目が、指定ディレクトリ全体の plainファイルの総数と一致する。
オプション:
-. 0 : 隠しファイルを辿らない。
-f : ディレクトリの個数で無くて、普通の(plainな)ファイルの個数を数える。
-g N1-N2 ; iがN1, jがN2に相当するディレクトリ名を出力する。N1-N2の書式は コンマ(,)で連結が可能
-g ...[dx] ; xを指定文字列に含むことで表の出力を抑制する。dがある場合は深さ情報を抑制する。
-g ...[Aa] : aの有無でディレクトリの表示が変わる。あれば、指定ディレクトリ名から表示する。Aを含めば、絶対パスとなる。
-g ...l : シンボリックリンクのディレクトリを出力する。
-l 0 : シンボリックリンファイルは見ない。
-s N : シャッフルの時の、ランダムシード。
--noshuffle : シャッフルをしない。-v1で辞書順最初、-v2で加えて辞書順最後が出力される。
--pattern : (実験的)ディレクトリ名またはファイル名を正規表現で指定する。(末尾は$を指定するが、先頭文字へのマッチングは^ではなくて、/を指定すること。)
-v N : 該当するディレクトリ名を、具体的に何個取り出すか。N=0,1,2が指定できる。
その他の注意:
- Ctrl+C では途中結果を出すのみで,停止しない。Ctrl+\で停止する。
開発上の注意 :
* chdir ".." が意図通りに動作しないことがあったので、opendirを使った動作とした。