假设我有一个目录,其中包含很多子目录:
04762b39018e3cf4b1a2c6a304919b75
06e0caf156de30dd962cf6b9300aba66
1f1d0cb1b810336299cda5426d0f12f5
2fe7a428eb303da6846800fa20ab7ed4
41e0136413703b0685d6799f8a22a8e6
asdf
1234
Databases
其中一些目录的长度正好是32个字符(实际上是md5hash),我想找到它们.在这种情况下,不需要递归搜索.我try 使用以下命令:
find /root/my/subdir -maxdepth 1 -type d -regex '^.*[a-fA-F0-9]{32}$'
我会得到这样的结果:
04762b39018e3cf4b1a2c6a304919b75
06e0caf156de30dd962cf6b9300aba66
1f1d0cb1b810336299cda5426d0f12f5
2fe7a428eb303da6846800fa20ab7ed4
41e0136413703b0685d6799f8a22a8e6
但我什么都没拿到.在我的例子中,我更喜欢使用find
,因为这样以后传递bash命令就很容易了,但是任何与bash兼容的一行程序都很好.