O caminho para esse tipo de tarefa é usar find :
find ./dir -mtime -10 -type f -exec cp {} ./another_dir/ \;
Substitua -mtime -10
(últimos 10 dias) pelo que você espera.
E, POR FAVOR, não analise ls
output. Verifique o link
Eu estou tentando copiar arquivos com base em sua data de modificação, pois os nomes dos arquivos não incluem a data neles. Coincidentemente, os arquivos são os 22 arquivos mais novos no diretório, portanto, se eu executar o comando ls -lt | head -22
, os arquivos de saída serão exatamente o que eu quero copiar.
Eu tinha lido este tópico aqui , mas o resposta aceita não parece funcionar no Terminal, e não é exatamente filtragem por data, apenas de cabeça.
Estou executando o macOS Sierra 10.12.5.
$ cp 'ls -1t | head -22' /destination/dir