2

Мне нужно сделать ежедневную уборку в каталоге загрузки.

Я видел этот вопрос и проверил ответ

rm !("test 1"|"test 4")

Он отлично работает, но требует наличия директории cd. Поскольку мое приложение должно быть на две части выше во многих отношениях, я не хочу делать что-то вроде

cd /app/download
rm !("test 1"|"test 4")
cd ../..

я пытался

rm !("./app/download/test 1"|"./app/download/test 4")

Но хорошо, он удаляет содержимое каталога выше, а не скачать /

1 ответ1

2

Вы были почти там

shopt -s extglob   # ← Only needed if you haven't enabled it yet
rm ./app/download/!("test 1"|"test 4")

!(…) Будет расширен с полным путем ко всем файлам, кроме тех, которые находятся в !(…) Поскольку перед аргументами аргумента rm указывается путь ./app/download/ , никакие другие файлы выше этого каталога не будут удалены.

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