Как я могу удалить все файлы, которые не начинаются с "2012" в определенной папке?

Это на OS X Lion.

1 ответ1

4

Используйте find чтобы выбрать все файлы (type f), которые не (!) начать с 2012 года ("2012*"). Затем вы rm (удалить) их сразу же, или пусть переключатель delete сделать это для вас.

find . -type f ! -name "2012*"

Обратите внимание, что это рекурсивно спускается в подкаталоги. Если вы хотите быть уверены, что не удаляете вещи, которые действительно хотите сохранить, убедитесь, что используете правильные опции (так что обратитесь к man find за дополнительной информацией).

Например, -maxdepth 1 не пойдет в подкаталоги.

Теперь удалите эти файлы:

find . -type f ! -name "2012*" -delete

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .