Да, должно быть.
Попробуйте Mod + Ctrl + j для перехода к следующему экрану.
Затем Mod + Ctrl + k должен сфокусироваться на предыдущем экране.
Вы можете использовать
rm -fr */folder_I_want_to_empty/* */folder_I_want_to_empty/.??*
Обратите внимание, что эта команда очень деструктивна и не запрашивает, а вместо этого безжалостно удаляет не -в интерактивном режиме.
Если вы хотите увидеть, что будет удалено, замените rm -fr
наls -ld
:
ls -ld */folder_I_want_to_empty/* */folder_I_want_to_empty/.??*
Мелкий шрифт :Из-за использованного выше шаблона очень мала вероятность того, что файлы или папки, содержащие только два символа, первым из которых является точка .
, не будут удалены. Если это проблема для вас, сообщите нам об этом в комментарии, и я изменю шаблон.
Вот как бы я это сделал. для моего примера я создал каталог /test для тестирования.
find /test -type d -iname folder_I_want_to_empty -print0 | xargs -0 -I % find % -type f -print -delete
Во-первых, я find
каталоги(-type d
)назвал folder_I_want_to_empty
. Затем для каждого из них я запускаю xargs для поиска файлов в этом каталоге, печатаю их имена и удаляю их. Это не удаляет подкаталоги в folder_I_want_to_empty
, но это можно сделать; в вашем примере их нет.
Вот пример dockerfile, чтобы читатели могли его воспроизвести:
FROM debian
RUN mkdir -p /test
WORKDIR /test
RUN mkdir -p subdir1/folder_I_want_to_empty subdir2/folder_I_want_to_empty subdir1/folder_I_do_not_want_to_empty subdir2/folder_I_do_not_want_to_empty && \
find /test -mindepth 2 -maxdepth 2 -type d -print0 | xargs -0 -I % touch %/test1 %/test2
ENTRYPOINT [ "/bin/sh" ]
CMD [ "-c", "find /test -type d -iname folder_I_want_to_empty -print0 | xargs -0 -I % find % -type f -print -delete; find /test -type f" ]