Eu tenho cerca de 50.000 imagens em uma pasta (estou usando o Mac OSX) e gostaria de excluir todas, a menos que tenham x300 ou 300x . Eu esperava que fosse possível usar o terminal ou o automator, mas não tenho idéia de como fazê-lo!
Obrigado!
Com o terminal, há muitas maneiras de fazer isso. Uma opção é usar o find (1):
find /your/dir -type f \! -name 'x300' \! -name '300x' -exec echo rm -f {} \;
Substitua /your/dir
pelo local onde estão seus arquivos. Quando tiver certeza absoluta de que o comando find atinge apenas os arquivos que você realmente deseja excluir com rm , remova "echo" da parte exec e execute novamente para remover arquivos, em vez de imprimir quais arquivos serão removidos.
Algumas explicações:
find / your / dir localiza todos os arquivos e pastas em / your / diir ans abaixo.
-type f filtra apenas os arquivos
-namename x300
filtra apenas os itens que contêm x300 no nome do arquivo.
O ! inverte isso (apenas arquivos NÃO contendo).
-exec executa um comando. Você pode executar eco, ou você poderia -print
.
Você pode usar rm como comando para excluir ou -delete
usar a construção de achados.
{}
é o nome do arquivo atual. Se você usar \;
, {} será substituído por um nome de arquivo por vez. (portanto, se você tiver 10000 arquivos para removê-lo, iniciará uma nova rm 10000 vezes).
Você também pode substituí-lo por +
para obter muitos arquivos de uma só vez (embora -delete seja ainda mais eficiente).