Qual o comando para excluir arquivos criados em datas específicas no mesmo diretório. [RESOLVIDO]

1. Qual o comando para excluir arquivos criados em datas específicas no mesmo diretório. [RESOLVIDO]

Marcos Portes
marpo

(usa Manjaro Linux)

Enviado em 14/06/2016 - 16:49h

Olá, boa tarde.
Sou novo no linux e tenho a seguinte dúvida:

Suponho que tenho 1000 diretórios dentro de um diretório. Sendo que eu criei esses diretórios durante 5 dias. Exemplo:
200 diretórios na segunda (01/01/2016)
200 diretórios na terça (02/01/2016)
200 diretórios na quarta (03/01/2016)
200 diretórios na quinta (04/01/2016)
200 diretórios na sexta (05/01/2016)
Totalizando 1000 diretórios.

A duvida é: Qual o comando eu usaria para excluir os diretórios criados somente na terça (02/01/2016) ?







  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 14/06/2016 - 22:19h

marcosportes escreveu:

Olá, boa tarde.
Sou novo no linux e tenho a seguinte dúvida:

Suponho que tenho 1000 diretórios dentro de um diretório. Sendo que eu criei esses diretórios durante 5 dias. Exemplo:
200 diretórios na segunda (01/01/2016)
200 diretórios na terça (02/01/2016)
200 diretórios na quarta (03/01/2016)
200 diretórios na quinta (04/01/2016)
200 diretórios na sexta (05/01/2016)
Totalizando 1000 diretórios.
A duvida é: Qual o comando eu usaria para excluir os diretórios criados somente na terça (02/01/2016) ?

___________________________________________________________________________________

Boa noite, Marcos.
Segue uma sugestão:
find -type d -iname "*" -mtime 1 -exec ls -ld {} \; 

Descrição:
find = COMANDO
-type d = Define para buscar diretório
-iname "*" = Procura por qquer nome ("*")
-mtime N = Criado a "N" dia
Se usar o "+" antes do N, busca por CRIADO a MAIS de "N" DIA.
Se usar o "-", menos de "N" DIA.
"0" Criado no dia
-exec = usado para enviar o resultado da BUSCA para o PRÓXIMO COMANDO
ls -ld = ESTE é o proximo comando, para remover, altere para rm -r

Descobrindo o Nº do dia:
date -d "2016-01-02" +%j
002
date +%j # hoje
167
167-002=165
Esse é o valor de "N" em "-mtime N"
________________________________________________________________
Outra sugestão:
No diretório onde tem 1000 PASTAS, execute o SCRIPT:
#!/bin/bash
ls --full-time|egrep '^d'|awk -F" " '{OFS=":";print ,$6,$9}' >> 1000_PASTAS.txt
while IFS=":" read -r DATA DIR;do
[ $DATA = "DATA-PARA-APAGAR" ] && rm -f "$DIR"
done < 1000_PASTAS.txt


"DATA-PARA-APAGAR" DEVE SER NO MESMO FORMATO QUE ESTÁ NA COLUNA 01 DE 1000.PASTAS.txt

É isso . . .
Caso a resposta solucione o seu problema, marque a como "A MELHOR" . . . :)

Att.:
Marcelo Oliver






3. Re: Qual o comando para excluir arquivos criados em datas específicas no mesmo diretório. [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 14/06/2016 - 18:48h

velho .. acho q isso teria que ser feito com um script, acho q comando direto não rola pois vc teria q pesquisar no diretório primeiro, usando debugfs e retornar o crtime dos arquivos aí sim depois vc deletaria na base do loop !! ou então seria uma estrutura com if e loop.
tipo
se crtime do arquivo = data então delete o arquivo senão veja o crtime do próximo arquivo 



4. Re: Qual o comando para excluir arquivos criados em datas específicas no mesmo diretório. [RESOLVIDO]

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 14/06/2016 - 20:52h

marcosportes escreveu:

Olá, boa tarde.
Sou novo no linux e tenho a seguinte dúvida:

Suponho que tenho 1000 diretórios dentro de um diretório. Sendo que eu criei esses diretórios durante 5 dias. Exemplo:
200 diretórios na segunda (01/01/2016)
200 diretórios na terça (02/01/2016)
200 diretórios na quarta (03/01/2016)
200 diretórios na quinta (04/01/2016)
200 diretórios na sexta (05/01/2016)
Totalizando 1000 diretórios.

A duvida é: Qual o comando eu usaria para excluir os diretórios criados somente na terça (02/01/2016) ?



Sugestão é usar find com ctime/mtime se lhe servirem e ajustar a profundidade com o -mindepth/-maxdepth.

[]'s
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
https://perspicazsite.wordpress.com







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts