Como posso apagar pastas vazias no Mac OS X?

17

Eu gostaria de excluir todas as pastas vazias em um disco externo. Como posso fazer isso?

    
por Msquared 07.01.2013 / 06:38

3 respostas

32

Antes de tudo, note que deletar diretórios vazios geralmente não é necessário. Alguns serviços ou aplicativos podem até precisar de determinados diretórios para existir. Esteja ciente do que você está fazendo.

Você pode listar pastas vazias com find , quando executado a partir do Terminal.app:

find . -type d -empty

Por padrão, find lista arquivos e pastas, mas aqui, -type d o restringe a diretórios, e a opção -empty mostra apenas diretórios vazios. Isso irá reciclar todas as pastas descendentes de seu diretório pessoal ( /Users/your-username/ ou curto, ~ ). Para expandir isso para todo o seu sistema de arquivos, use:

find / -type d -empty

Aqui, / significa a raiz do sistema de arquivos do Mac OS X. É claro que você pode usar qualquer outro ponto de partida, por exemplo, seu disco externo montado em /Volumes/your-disk-name ;

find /Volumes/your-disk-name -type d -empty

Agora, se você quiser excluir qualquer find de saídas, basta anexar -delete , assim:

find . -type d -empty -delete

Nota: Isso não solicitará confirmação . Ele excluirá todos os diretórios que ele puder, ou seja, aqueles nos quais você tem permissão para excluir. Eles não serão movidos para o lixo, mas vão para sempre. Se você quiser ser perguntado antes da remoção, mude o comando para algo como o seguinte:

find . -type d -empty -exec rm -ri '{}' \;
    
por 07.01.2013 / 07:22
5

Eu fiz um programa pequeno e gratuito que resolve isso melhor:

link

A vantagem deste programa é que ele também encontra pastas aparentemente vazias, mas contêm o arquivo invisível ".DS_Store".

E também permite mover os itens encontrados para o Lixo imediatamente.

    
por 07.11.2014 / 12:56
1

Para promover esse esforço:

Eu criei um script que eu uso para limpar minha pasta de documentos de tempos em tempos, já que estou no TOC e estou cansado de ser o APP Overloaded & como simplicidade.

Eu fiz isso em um esforço para melhorar & fornecer uma solução alternativa.

Por fim, para o arquivo de ícones do @kenche, que parece não existir no meu mac, já que não modifiquei meus ícones de pasta, mas sim no inspetor. Ao arrastar uma imagem para o canto superior esquerdo, ela criará o arquivo Icon^M nesse diretório.

Para encontrar também, você pode executar:

(Should you be paranoid about if finding a false positive then use:ctrl+v ctrl+m instead of the ?)

find ~/Documents -type f -name 'Icon?' -print;
# and to remove 
find ~/Documents -type f -name 'Icon?' -print -delete;

IMPORTANTE

Please as @slhck stated above: Some services or applications might even need certain directories to exist. This also applies to the DS_Store & Icon files, PLEASE Be aware of what you're doing. Also Note: This script will not ask for confirmation. It will delete all the directories it can. i.e. the ones where you have permissions to delete. They will not be moved to the trash but gone forever.

Script BASH

#!/bin/bash
# =============================================================================
# MAC OSX HIGH SIERRA 10.13.4 (17E199)
# Terminal: Version: 2.8.2 64-Bit (Intel): Yes
# Terminal Location: /Applications/Utilities/Terminal.app
# =============================================================================
# Terminal CLEAN UP YOUR DOCUMENTS FOLDER.
# =============================================================================
# START WHAT IS BELIEVED TO BE EMPTY NOW.
# =============================================================================
echo 'Searching Documents for empty folders...'
find ~/Documents -type d -empty;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS DS_Store FILES
# =============================================================================

echo 'Searching Documents for DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print;

echo 'Removing DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print -delete;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS ZERO SIZED FILES
# =============================================================================
echo 'Searching Documents for ZERO file sized files...'
find ~/Documents -type f -empty;

echo 'Removing ZERO file sized files...'
find ~/Documents -type f -empty -delete;
# =============================================================================
# SHOW & THEN REMOVE Icon^M FILES
# USE THE ? MARK FOR EASE OF USE YOU CAN ALSO SUB 'CTRL + V & CTRL + M' FOR ^M 
# =============================================================================

echo 'Searching Documents for Icon files...'
find ~/Documents -type f -name 'Icon?' -print;

echo 'Removing Icon files from Documents...'
find ~/Documents -type f -name 'Icon?' -print -delete;

# SEEMINGLY THE SAME AS
# find ~/Documents -type f -size 0 -print
# find ~/Documents -type f -size 0 -print -delete
# =============================================================================
# SHOWCASE NEW FOUND EMPTY FOLDERS
# =============================================================================
echo 'Showcasing new result of existing and new found empty folders...'
find ~/Documents -type d -empty;

echo 'Deleting result of empty folders...'
find ~/Documents -type d -empty -delete;

echo 'Showcasing the removal of said, 'empty folders'...'
find ~/Documents -type d -empty;

Fim do script.

O script pode ser visto aqui no GitHub

Referências:

Sobre os ícones que representam arquivos no seu Mac

Qualquer forma de remover todas as pastas que contêm apenas .DS_Store recursivamente?

Encontre pastas & subpastas contendo apenas ".DS_Store"

Como encontrar todos os arquivos de zero bytes em um diretório, incluindo subdiretórios

Ícone? arquivo na área de trabalho do OS X

    
por 14.05.2018 / 07:40

Tags