Como gerar o último arquivo criado no shell

Como gerar o último arquivo criado no shell

Eu tenho um executável que cria um file1ou file2outro arquivo. Estou tentando escrever um script de shell que deve gerar o último arquivo criado. Se o executável for criado file1, a saída deverá ser file1. Observe que já tenho os dois file1e file2existe no diretório junto com outros arquivos. O executável o substitui. Se não existir arquivo1/arquivo2, o script abaixo funciona, mas não funciona se ambos file1existirem file2.

if [ -e "file1" ]; then
   output="file1"
else
   output="file2"
fi

Responder1

A maneira rápida e fácil.

output="$(ls -td control.tk input.scs 2> /dev/null|head -1)"

No entanto, eu só usaria isso se você pudesse ter certeza de que os arquivos não contêm caracteres engraçados, como novas linhas ou espaços. Se você puder garantir que os nomes dos arquivos não contêm caracteres engraçados, a análise lsé bastante segura.

informação relacionada