Como listar arquivos dentro do intervalo de datas em cli [duplicate]

0

Pode um pls dizer um bom para listar arquivos dentro do intervalo de datas no cli. Diga entre 20 de fevereiro e 2 de março, depois mv esses arquivos para outro diretório.

Obrigado

    
por Frank 06.03.2018 / 20:26

2 respostas

1

Para find implementações que não possuem -newerct (mais antigo GNU find e find em sistemas BSD):

Crie dois arquivos de timestamp e use find para encontrar todos os arquivos mais recentes que os mais antigos e mais antigos que os mais recentes:

touch -d 2018-02-20T00:00:00 ts-start
touch -d 2018-03-03T00:00:00 ts-end

find . -type f -newer ts-start ! -newer ts-end ! -name ts-end -exec mv {} /destination ';'

rm -f ts-start ts-end

Precisamos excluir o nome do arquivo ts-end , pois esse arquivo atende aos critérios.

    
por 06.03.2018 / 20:39
0
find -newerct "20 Feb 2018" ! -newerct "2 Mar 2018" -exec mv {} /path/to/target/dir

Isso usa recursos introduzidos em versões recentes do GNU find.

Existem muitas outras maneiras de realizar a mesma coisa com find . Veja a página man para obter informações sobre -newerxy , -mtime e outras guloseimas.

    
por 06.03.2018 / 20:31