-1

Я хочу использовать rm -rf для удаления файлов / папок внутри папки, но пропустить или игнорировать определенную папку.

Он был предложен как дублированный на другой вопрос, но это не так. Другой вопрос спрашивает о пропуске файлов. Я хочу пропустить папку со всем содержимым этой папки.

3 ответа3

0

Это своего рода дубликат ссылки в комментариях ... В любом случае для режиссера:

find . ! \( -type d -and -iname "test" \)

Чтобы увидеть, пропущен ли test каталог или нет.

Затем:

find . ! \( -type d -and -iname "test" \) -delete

Просто find . ! -iname "test" для файла и dir.

0

Это:

find . -mindepth 1 -maxdepth 1 -not -name '.svn' -print0 | xargs -0 -r rm -rf

я делаю то, что ты хочешь. Он пропускает каталог .svn и его содержимое, но удаляет все остальное, файлы и каталоги, включая те, которые начинаются с '.' в текущем каталоге и любых подкаталогах.

0

находить . -не-путь./.svn/*! -имя .svn

По сути, первая часть исключает все файлы в этом каталоге, а вторая часть исключает сам каталог.

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