Abaixo, incluí a resposta à sua pergunta, mas gostaria de enfatizar que você precisa ter extrema cautela com esse comando. A saída do seu original awk
está sendo canalizada para rm -rf
, isso significa que esse comando está removendo à força todas as pastas listadas.
Certifique-se de que você é muito cuidadoso sobre onde você executa isso porque, se executado na maioria dos lugares, isso pode causar problemas enormes ou danos irreparáveis ao sistema.
find . -maxdepth 5 -type d -exec bash -c "echo -ne '{} '; ls '{}' | wc -l" \; -print0 | awk '$NF<=10' | xargs rm -rf
A saída do seu comando original está sendo canalizada para xarge rm -rf
, xargs
está convertendo a saída original em argumentos para outro programa, neste caso, rm
.
Trecho da página manp para rm
para os dois switches usados:
-f, --force
ignore nonexistent files, never prompt
-r, -R, --recursive
remove directories and their contents recursively
Pipar diretamente em rm
não funcionaria, pois não espera receber nomes de arquivos ou pastas nesse formato.