Você está procurando especificamente por um comando do terminal ou algo como uma ação de automação é suficiente?
Jerry W.
1
O que você quer dizer com "cujas datas são adicionadas?" Adicionado a quê e como?
Allan
1
@Allan Marque "Exibir> Organizar por" ou as colunas disponíveis em "Opções de exibição" no Finder; O OS X rastreia a data em que um item foi adicionado a uma pasta.
Miles
@Miles - esses atributos não estão disponíveis no bash, a menos que você instale as ferramentas XCode Dev e o OP usado especificamente ~ / Downloads, que é uma convenção do bash (ou mais genericamente, um shell).
Allan
Respostas:
24
É um comando relativamente simples excluir arquivos em um diretório maior que um ano. Por exemplo, o seguinte comando executado no Terminal
find ~/Downloads/ -type f -mtime +365 -exec rm {} \;
excluirá todos os arquivos no ~/Downloadsdiretório com mais de um ano.
find é o comando que procura por "coisas"
-type fdiz para encontrar o que procurar, neste caso, arquivos
-mtime +365 informa que o tempo modificado deve ser maior que 365 dias
-exec rm {} passa (executa) cada item "encontrado" para o comando rm
O que eu gosto de fazer é testá-lo excluindo a -exec rm {} \;parte e verifique se estou obtendo os resultados corretos. Quando tiver certeza, basta adicioná-lo para concluir a remoção.
Uma advertência !! Esses arquivos não são adicionados ao seu "Lixo". O comando ignora o Lixo e é excluído imediatamente, portanto, use com cuidado.
Uma maneira mais segura ...
(Obrigado ao usuário lucasoldaini nos comentários abaixo)
Se você deseja mover seus arquivos para o "Lixo", basta substituir a -exec rm {} \;parte para-exec mv {} ~/.Trash \;
Eles permanecerão no seu Lixo até a próxima vez que você o esvaziar.
Você pode obter mais informações sobre cada comando, visualizando suas páginas de manual:
Em vez de usar rm, você pode mover os arquivos ~/.Trashpara impedir que eles sejam excluídos imediatamente.
Lucasoldaini
2
Observe que a data de modificação (na qual esta resposta está operando) é diferente da data de adição . Além disso, o Safari definirá a data de modificação de um arquivo baixado para o fornecido pelo servidor, se disponível, portanto, mesmo um arquivo baixado ontem pode ter uma data de modificação com mais de um ano.
Miles
2
Se você tiver o homebrew: brew install lixo e, em vez disso, use o comando trash a partir de agora.
precisa saber é o seguinte
Atualizei minha resposta com base na sugestão de @lucasoldaini. Prefiro usar métodos incorporados do que usar homebrew ou MacPorts.
Allan
1
Eu gosto mais da sua solução do que da minha.
Jerry W.
10
Se você deseja usar o Automator, pode criar uma ação como esta:
Encontre itens do Finder - Downloads de pesquisa - Todos os seguintes itens são verdadeiros: -Data de criação não ocorre nos últimos 365 dias.
Minha escolha da ferramenta é Hazel , um software de baixo custo para múltiplos propósitos que faz coisas com arquivos e pastas quando elas correspondem a certas regras que você configura. Esta regra moverá os arquivos não adicionados no ano passado da pasta Hämtade filer . É diferente da solução de linha de comando acima, pois é executada todos os dias, por isso é uma solução definida e esquecida.
Esta é a melhor solução, pois ela realmente usa Data adicionada em vez de Data modificada, que pode não ser a mesma. Uma solução de linha de comando poderia procurar kMDItemDateAdded, mdlsmas eu recomendo a solução Hazel.
Respostas:
É um comando relativamente simples excluir arquivos em um diretório maior que um ano. Por exemplo, o seguinte comando executado no Terminal
find ~/Downloads/ -type f -mtime +365 -exec rm {} \;
excluirá todos os arquivos no
~/Downloads
diretório com mais de um ano.find
é o comando que procura por "coisas"-type f
diz para encontrar o que procurar, neste caso, arquivos-mtime +365
informa que o tempo modificado deve ser maior que 365 dias-exec rm {}
passa (executa) cada item "encontrado" para o comandorm
O que eu gosto de fazer é testá-lo excluindo a
-exec rm {} \;
parte e verifique se estou obtendo os resultados corretos. Quando tiver certeza, basta adicioná-lo para concluir a remoção.Uma advertência !! Esses arquivos não são adicionados ao seu "Lixo". O comando ignora o Lixo e é excluído imediatamente, portanto, use com cuidado.
Uma maneira mais segura ...
(Obrigado ao usuário lucasoldaini nos comentários abaixo)
Se você deseja mover seus arquivos para o "Lixo", basta substituir a
-exec rm {} \;
parte para-exec mv {} ~/.Trash \;
Eles permanecerão no seu Lixo até a próxima vez que você o esvaziar.
Você pode obter mais informações sobre cada comando, visualizando suas páginas de manual:
man find
man exec
fonte
rm
, você pode mover os arquivos~/.Trash
para impedir que eles sejam excluídos imediatamente.Se você deseja usar o Automator, pode criar uma ação como esta:
Encontre itens do Finder - Downloads de pesquisa - Todos os seguintes itens são verdadeiros: -Data de criação não ocorre nos últimos 365 dias.
Obter itens selecionados do Finder
Mover itens do Finder para a lixeira
Captura de tela conveniente:
fonte
Minha escolha da ferramenta é Hazel , um software de baixo custo para múltiplos propósitos que faz coisas com arquivos e pastas quando elas correspondem a certas regras que você configura. Esta regra moverá os arquivos não adicionados no ano passado da pasta Hämtade filer . É diferente da solução de linha de comando acima, pois é executada todos os dias, por isso é uma solução definida e esquecida.
fonte
kMDItemDateAdded
,mdls
mas eu recomendo a solução Hazel.