Используйте find
с exec
. Сначала сделайте пробный запуск, как этот, чтобы убедиться, что вы не действуете на вещи, на которые вы не хотите действовать:
find . -maxdepth 1 -type f -name '??' -exec ls -latr {} \;
Затем, когда вы уверены, что это работает так, как вы хотите, запустите это:
find . -maxdepth 1 -type f -name '??' -exec rm -rf {} \;
Также обратите внимание на maxdepth
. Это будет содержать ваши действия только в текущем каталоге. Без maxdepth
команда find
будет распространяться по всей вашей системе, просто делая что-либо с именами из двух символов. Конечно, увеличьте maxdepth
чтобы он соответствовал любой глубине, на которую вы хотите пойти, но помните, что вы рискуете повредить свою систему, если не используете это, и выполните несколько тестов пробного запуска на логике find
перед запуском rm -rf
.
В GNU find (который есть в большинстве дистрибутивов Linux) вы также можете использовать опцию -delete
вместо -exec rm -rf {} \;
, -delete
может быть немного более эффективным, поскольку ему не нужно вызывать внешнюю команду, но это не является частью спецификации POSIX.