Искать в каталогах длиной 32 символа только с помощью find ⇐ Linux
-
Anonymous
Искать в каталогах длиной 32 символа только с помощью find
Предположим, у меня есть каталог с множеством подкаталогов:
04762b39018e3cf4b1a2c6a304919b75 06e0caf156de30dd962cf6b9300aba66 1f1d0cb1b810336299cda5426d0f12f5 2fe7a428eb303da6846800fa20ab7ed4 41e0136413703b0685d6799f8a22a8e6 асдф 1234 Базы данных Некоторые из этих каталогов имеют длину ровно 32 символа (на самом деле md5hash), и я хотел бы их найти. Рекурсивный поиск в этом случае не требуется. Я попробовал с помощью этой команды:
find /root/my/subdir -maxlength 1 -type d -regex '^.*[a-fA-F0-9]{32}$' и я получу результат:
04762b39018e3cf4b1a2c6a304919b75 06e0caf156de30dd962cf6b9300aba66 1f1d0cb1b810336299cda5426d0f12f5 2fe7a428eb303da6846800fa20ab7ed4 41e0136413703b0685d6799f8a22a8e6 но я ничего не получил. В моем случае я бы предпочел для этого find, потому что тогда будет легко передавать команды bash позже, но подойдет любая однострочная команда, совместимая с bash.
Предположим, у меня есть каталог с множеством подкаталогов:
04762b39018e3cf4b1a2c6a304919b75 06e0caf156de30dd962cf6b9300aba66 1f1d0cb1b810336299cda5426d0f12f5 2fe7a428eb303da6846800fa20ab7ed4 41e0136413703b0685d6799f8a22a8e6 асдф 1234 Базы данных Некоторые из этих каталогов имеют длину ровно 32 символа (на самом деле md5hash), и я хотел бы их найти. Рекурсивный поиск в этом случае не требуется. Я попробовал с помощью этой команды:
find /root/my/subdir -maxlength 1 -type d -regex '^.*[a-fA-F0-9]{32}$' и я получу результат:
04762b39018e3cf4b1a2c6a304919b75 06e0caf156de30dd962cf6b9300aba66 1f1d0cb1b810336299cda5426d0f12f5 2fe7a428eb303da6846800fa20ab7ed4 41e0136413703b0685d6799f8a22a8e6 но я ничего не получил. В моем случае я бы предпочел для этого find, потому что тогда будет легко передавать команды bash позже, но подойдет любая однострочная команда, совместимая с bash.
Мобильная версия