Принятие следующей файловой структуры:
/Parent1/
/Parent1/SubA/
/Parent1/SubB/
...
/Parent2/
/Parent2/SubA/
/Parent2/SubB/
...
какую команду я могу использовать для рекурсивного удаления SubB из каждого родительского каталога? То, что я делал, является длинной рукой (очень хромой, но я буду включать ее именно так, ясно, что я пытаюсь сделать):
rm -rf Parent1/SubB
^1^2^
...
Можно достигнуть этого использования find
и xargs
команды. Скажем, Parent1 и Parent2 оба хранятся в каталоге под названием SuperParent. Вы могли сделать что-то вроде:
find /SuperParent -name SubB -type d -print0 | xargs -0 rm -rf
Это передает список по каналу каталогов под названием найденный ниже/SuperParent SubB в xargs
команда, которая берет каждый каталог и выполнения rm
с каталогом как аргумент.