com zsh
:
cp -- *(om[1,5]) /dest/dir
Ou:
cp -- *(.om[1,5]) /dest/dir
Para limitar apenas a arquivos regulares.
Com bash
ou ksh93
e GNU ls
:
eval "sorted_files=($(ls -t --quoting-style=shell-always))"
cp -- "${sorted_files[@]:0:5}" /dest/dir
(observe que aqueles ignoram arquivos ocultos. Adicione o D
globbing qualifier ou a opção -A
a ls
para incluí-los).
Para excluir os 5 mais antigos, o mesmo na ordem inversa:
rm -- *(.Om[1,5])
(observe o O
em vez de o
). Ou:
eval "sorted_files=($(ls -rt --quoting-style=shell-always))"
rm -- "${sorted_files[@]:0:5}"
(observe o -r
)