Como posso usar o comando / script para mostrar imagens da semana passada na mesma pasta ou para mover essas imagens de base semanal para outra pasta?

1

Eu tenho arquivos de imagem grandes em uma pasta (por exemplo, 10000 fotos) e quero verificar os arquivos de imagem da última semana (.jpg) para poder mover facilmente as imagens da semana passada para o disco rígido externo, em vez de transferir todas as imagens arquivos (.jpg) para o disco rígido. Por favor alguém pode me ajudar neste assunto. Obrigado

    
por Qaisar Khan 07.08.2015 / 09:32

1 resposta

0

Existe um comando chamado find que pode ajudar a identificar os arquivos e até movê-los para outro local.

Para localizar arquivos .jpg com mais de 7 dias e listar os nomes dos arquivos:

find /path/to/images -name "*.jpg" -mtime +6

A parte -mtime do comando procura arquivos com base no número posterior em dias, +6 significa mais de 7 dias devido à maneira como -mtime arredonda dias não completos. Mais informações sobre isso estão listadas nesta resposta .

Se você quiser mais informações sobre os arquivos, use a opção -ls do find assim:

find /path/to/images -name "*.jpg" -mtime +6 -ls

Uma vez que você está feliz que estes são os arquivos que você gostaria de mover, o seguinte comando vai cuidar disso, lembre-se de alterar '/ path / to / images' e '/ path / to / external_drive' para os valores corretos. Recomenda-se a utilização de caminhos absolutos.

find /path/to/images -name "*.jpg" -mtime +6 -execdir mv "{}" /path/to/external_drive "{}" \;

Se houver subdiretórios em seu diretório de imagens que você não deseja pesquisar, você poderá restringir a recursão de diretório com --max-depth 1 colocando essa opção após '* .jpg' separado por um espaço.

    
por Arronical 07.08.2015 / 10:53