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]