Sugiro usar find
. O comando a seguir selecionará e moverá todos os arquivos.
find "$Dir" -newermt "1 Jen 2014" ! -newermt "1 Jen 2015" -exec cp {} $Dest \;
Mais algumas palavras: em geral, há muitos motivos para Por que é melhor evitar analisar a saída de ls , principalmente por causa do espaço ou caracteres especiais eventualmente presentes no nome do arquivo.
Trecho de man find
, para o uso da opção -newerXY
-newerXY reference
Compares the timestamp of the current file with reference. The reference argument is normally the name of a file (and one of its timestamps is used for the comparison) but it may also be a string describing an absolute time. X and Y are placeholders for other letters, and these letters select which time belonging to how reference is used for the comparison.
a The access time of the file reference
B The birth time of the file reference
c The inode status change time of reference
m The modification time of the file reference
t reference is interpreted directly as a time