Para localizar o arquivo simples mais recente (.)
de cada diretório (/)
, um método de duas passagens para primeiro localizar os diretórios, encontre o arquivo mais recente (por mtime ou (om[1])
) em cada diretório sentido. Com o ZShell, isso seria algo parecido com:
% typeset -a latest
% cd $TMPDIR
% mkdir latest
% cd latest/
% mkdir a b c
% touch {a,b,c}/blah; sleep 3; touch {a,b,c}/a\ newer\ file
% for d in *(/N); do latest+=( $d/*(.om[1]) ); done
% [[ $#latest -eq 0 ]] && print uh oh
% print -l $latest
a/a newer file
b/a newer file
c/a newer file
%
Portanto, cp $latest destdir
deve ser suficiente (assumindo que foram encontrados arquivos), a menos que por algum motivo inexplicável você tenha ativado a opção SH_WORD_SPLIT
no ZSH, caso em que você precisará lidar com problemas de citação como outros conchas fazem.