【发布时间】:2010-12-12 23:37:35
【问题描述】:
如何找到具有特定长度名称的目录?
例如,我有一堆目录,其名称长度等于 33 个字符('a92e8cc611fdebcca3cf2fc8dc02c918'、'c442fb3f46d6c8bd17d27245290a9512' 等等)。
find 实用程序是否接受“wc -c”形式的条件?或者也许应该将其他一些实用程序放在一起?
【问题讨论】:
标签: linux unix find name-length
如何找到具有特定长度名称的目录?
例如,我有一堆目录,其名称长度等于 33 个字符('a92e8cc611fdebcca3cf2fc8dc02c918'、'c442fb3f46d6c8bd17d27245290a9512' 等等)。
find 实用程序是否接受“wc -c”形式的条件?或者也许应该将其他一些实用程序放在一起?
【问题讨论】:
标签: linux unix find name-length
GNU find 的几种方法
$ find . -type d -name "?????????????????????????????????"
$ find /path -type d -printf "%f\n" | awk 'length==33'
【讨论】:
您没有 Java 标记,但如果有,您将编写一个 FileFilter 来封装您想到的任何标准并将其传递给 java.io.File.list() 方法。如果你想遍历整个目录结构树,你将不得不递归,但它是完全可行的。
抱歉,这不是 *nix 脚本。
Apache Commons IO JAR 有一些不错的文件和目录实用程序,可以轻松完成这项工作。
【讨论】:
当然:
find dir -name '?????????????????????????????????'
(这是 33 次 ?)。
【讨论】: