2

特定の長さの名前を持つディレクトリを見つけるにはどうすればよいですか? たとえば、名前の長さが 33 文字 ('a92e8cc611fdebcca3cf2fc8dc02c918'、'c442fb3f46d6c8bd17d27245290a9512' など) のディレクトリがたくさんあります。findユーティリティは「wc -c」の形式で条件を受け入れますか? それとも、他のいくつかのユーティリティを一緒にパイプする必要がありますか?

4

3 に答える 3

10

GNU find を使用したいくつかの方法

$ find . -type d -name "?????????????????????????????????"

$ find /path -type d -printf "%f\n" | awk 'length==33'
于 2009-11-04T11:06:51.040 に答える
0

Java タグはありませんが、ある場合は FileFilter を作成して、考えている基準をカプセル化し、それを java.io.File.list() メソッドに渡します。ディレクトリ構造ツリー全体をトラバースしたい場合は、再帰する必要がありますが、それは完全に実行可能です。

申し訳ありませんが、*nix スクリプトではありません。

Apache Commons IO JAR には、これを簡単に行える優れたファイルおよびディレクトリ ユーティリティがいくつか含まれています。

于 2009-11-04T11:04:14.030 に答える
0

もちろん:

find dir -name '?????????????????????????????????'

(それは33時間?です)。

于 2009-11-04T11:07:44.433 に答える