Como exportar o último arquivo criado no shell [duplicado]

0

Eu tenho um executável que cria file1 ou file2 junto com outros arquivos. Eu estou tentando escrever um script de shell que deve produzir o arquivo criado mais recente. Se o executável criar file1 , a saída deverá ser file1 . Observe que já tenho os dois file1 e file2 no diretório junto com outros arquivos. O executável sobrescreve. Se não houver arquivo1 / arquivo2, o script abaixo funcionará, mas isso não funcionará se houver file1 e file2 .

if [ -e "file1" ]; then
   output="file1"
else
   output="file2"
fi
    
por kumar 21.10.2016 / 19:58

1 resposta

0

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ê puder ter certeza de que os arquivos não contêm caracteres engraçados, como novas linhas ou espaços. Se você pode garantir que os nomes dos arquivos não contenham caracteres engraçados, então, analisar ls é bastante seguro.

por 21.10.2016 / 20:04