Удалить все файлы в папке, которые не начинаются с определенной строки.

Удалить все файлы в папке, которые не начинаются с определенной строки.

Как удалить все файлы, которые не начинаются с «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

Связанный контент