com zsh :
mutt -s "Log" -a /path/to/*.log(.om[1]) [email protected]
Que usa zsh qualificadores da glob. Enquanto outros shell globs podem gerar apenas nomes de arquivos baseados em seus nomes, em zsh , você pode usar esses qualificadores ( (.om[1]) acima), para selecionar com base nos atributos de arquivo (tipo, tamanho, horas, permissões ...) ou outros critérios próprios, afetam o pedido, aplicam várias transformações ou selecionam um intervalo.
Nesse caso, usamos esses qualificadores:
-
.: selecione apenas arquivos regulares. -
om: ordem por hora de modificação (mais recente primeiro) -
[1]: selecione apenas o primeiro.
Observe que, se não houver arquivos log em /path/to , o glob falhará e o comando será abortado (como seria de se esperar, mas outros shells funcionam de maneira diferente).
GNUly, o equivalente seria algo como:
latest=$(
find /path/to -maxdepth 1 -name '*.log' -printf '%T@:%pmutt -s "Log" -a /path/to/*.log(.om[1]) [email protected]
' |
sort -rzg | sed -z 's/^[^:]*://;q'
)
[ -n "$latest" ] &&
mutt -s "Log" -a "$latest" [email protected]