mv 'ls -ct file* | tail -n 1' input.dat
renomeia o arquivo oldes que corresponde ao padrão file*
com o nome input.dat
.
Eu tenho uma situação onde vários arquivos podem acumular uma pasta para algum processamento e a rotina de processamento só pode manipular um arquivo de cada vez, e deve ter um nome de arquivo específico.
Eu preciso encontrar o arquivo mais antigo nesse diretório e renomeá-lo para o nome de arquivo de entrada necessário. Uma vez processado, este arquivo é deletado, então eu teria o procedimento de renomear o mais antigo entre o processamento até que todos os arquivos estivessem esgotados.
por exemplo:
Em uma pasta eu tenho:
file1 created 1 Mar
file2 created 2 Mar
file3 created 3 Mar
…
O script teria que renomear o arquivo criado em 1 de março st para 'input.dat'. Na próxima ocorrência, ele renomeia o de 2 de março nd , etc ...
Como eu faria isso?
mv 'ls -ct file* | tail -n 1' input.dat
renomeia o arquivo oldes que corresponde ao padrão file*
com o nome input.dat
.
Tags aix