У меня куча папок говорит /test/
и /test1/
и они оба содержат папки /x/
и /x/
содержит несколько случайных файлов, которые мне не нужны. Я хочу рекурсивно пройтись по всем папкам и перейти в /x/
и удалите все содержимое.
Но я не могу понять, как удалять ТОЛЬКО содержимое внутри /x/
папка.
Я бы использовал команду find и использовал в выражении параметр -exec.
Сначала проверьте это, чтобы убедиться, что он находит правильные каталоги и нет ложных срабатываний. Перейдите в каталог, с которого хотите начать, а затем введите:
find . -type d -iname x
Это должно выполнить поиск без учета регистра всех каталогов с именем «x» из текущего рабочего каталога и выполнить рекурсию вниз. Если результат выглядит правильно, вы можете удалить файлы в этих каталогах, выполнив следующее:
find . -type d -iname x -exec rm {}/* \+
Это приведет к удалению только файлов, содержащихся в каталогах с именем «x». Если вы хотите удалить также каталоги "x", используйте следующее:
find . -type d -iname x -exec rm -Rf {} \+