Apagar diretórios vazios usando o comando 'ls'

1

Eu quero excluir diretórios vazios sem usar find command find . -empty -type d -delete . como o seguinte:

if [ "$(ls -d *)" ]; then
   echo "Not Empty"
else
   echo "Delete"
fi

Como excluo diretórios vazios usando apenas ls ?

    
por EPSILONsdfsdfdsf 15.09.2014 / 00:22

1 resposta

6

rmdir excluirá as pastas vazias (deixando outras pastas), para que você possa usar algo como:

rmdir */

Ou, se você estiver usando o bash 4+ e quiser recursividade (outros shells têm outros nomes para a mesma coisa):

shopt -s globstar
rmdir **/

Isso lhe dará muitas mensagens de erro, no entanto (uma para cada pasta não vazia).

    
por 15.09.2014 / 02:44

Tags