Solaris 11 encontra pastas vazias (-empty not work)

1

Como encontrar dir vazio e excluir no Solaris 11.

Eu tento isso:

find . -type d -empty

Saída:

find: bad option -empty find: [-H | -L] path-list predicate-list

    
por Eddypapa 03.05.2018 / 14:50

3 respostas

1

Não há nenhum vazio no Solaris por padrão, se você tiver /usr/xpg4/bin/find , ele deve suportá-lo

Outra maneira é rotular como:

find . -type d|while read name; do if (( $(ls -al $name|wc -l) == 3 )); then echo $name; fi; done

  • Baseado no trabalho do usuário lasse, discussão completa aqui - link
por 03.05.2018 / 15:29
1

O argumento -empty é uma extensão não padrão para o utilitário find padronizado por POSIX .

O Solaris 11 deve ter o GNU find instalado como gfind em algum lugar.

    
por 04.05.2018 / 12:12
1

Aqui está outro exemplo. Isso deve funcionar mais rápido.

É baseado na saída do comando 'ls -ed', que substitui o campo de tamanho (quinto) por diretórios com informações de seu conteúdo. Os diretórios vazios sempre terão "2" nesse campo.

Também xargs é usado para reduzir o número de comandos para exec.

find . -type d | xargs -i ls -ed {} | awk '{if ($5=="2"){ print $0 }}'
    
por 11.05.2018 / 13:42