Как удалить в папке всё, кроме определенной папки?

Привет, мне необходимо удалить в папке все файлы и папки кроме определенной папки, у которой тоже есть файлы.
Например, есть главная папка general:
general{
    file-1
    file-2
    dir-1{
        file-1-1
        file-1-2
    }
    dir-2{
        file-2-1
        file-2-2
    }
}

Какой командой на линуксе, можно удалить всё внутри папки general кроме папки dir-2 и её файлов?
  • Вопрос задан
  • 14947 просмотров
Решения вопроса 2
Tortway
@Tortway Автор вопроса
cd /path/to/general; ls | grep -v 'dir-2' | xargs rm -rf
Ответ написан
Комментировать
@Shetani
ls | grep -v dir2 | xargs rm -rfv
команда запускается из папки general
dir2 - имя папки которую удалять не надо. Так же выведет список удаленных файлов и папок, если этого не нужно, уберите ключ v у команды rm
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
cd /path/to/general; rm -rf !(dir-2|dir-3)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы