
Как удалить все файлы, которые не начинаются с «2012», в определенной папке?
Это на OS X Lion.
решение1
Используйте find
для выбора всех файлов ( type f
), которые не ( !
) начинаются с 2012 ( "2012*"
). Затем вы rm
сразу же (удаляете) их или позволяете переключателю delete
сделать это за вас.
find . -type f ! -name "2012*"
Обратите внимание, что это рекурсивно спускается в подкаталоги. Если вы хотите быть уверены, что не удаляете то, что действительно хотите сохранить, убедитесь, что используете правильные параметры (так что проверьте man find
больше).
Например, -maxdepth 1
не будет заходить в подкаталоги.
Теперь удалите эти файлы:
find . -type f ! -name "2012*" -delete