[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] SubDiretório mais antigo
From: |
Helder Jean |
Subject: |
Re: [shell-script] SubDiretório mais antigo |
Date: |
Sat, 14 May 2005 13:30:33 -0300 |
User-agent: |
Debian Thunderbird 1.0 (X11/20050116) |
Cristiano wrote:
Olá lista,
Gostaria que o meu script entrasse em um diretório e deletasse o subdiretório
mais
antigo.
Já tenho um script rodando que faz
if [SubDiretorio1] -ot [SubDiretorio2] && [SubDiretorio1 -ot SubDiretorio3] &&
.....................; then
rm -rf SubDiretorio1;
elif [SubDiretorio2] -ot [SubDiretorio3] && [SubDiretorio2] -ot [SubDiretorio4]
..........................
Só que eu tenho que fazer isso com cada subdiretório comparando com todos os
outros
subdiretórios dessa pasta. Tenho sempre 8 subdiretórios nessa pasta e tenho que
deletar o mais antigo para criar o novo. O script esta funcionando mas esta
muito
longo.
Alguem tem alguma ideia?
Olá,
Considerando que você tem só esses 8 subdiretórios nesse diretório (e
eventualmente alguns arquivos), você poderia fazer o seguinte dentro dele:
rm -rf $(ls -tl | grep "^d" | awk '{print $8}' | tail -1)
O ls vai listar o conteúdo do diretório baseado na data de
modificação, do mais novo pro mais antigo. O grep vai assegurar que você
está pegando somente os diretórios lá dentro (caso haja arquivos). O awk
seleciona somente o nome dos diretórios baseado na coluna, e o tail
seleciona somente a última entrada.
A saída desses comandos encadeados vai ser o diretório mais antigo,
que vai ser jogado no rm pra que seja removido.
[]'s
--
Helder Jean <Helder.J[at]gmx.net>
Gerência de Redes - Superintendência de Informática - UFRN
NARIS/UFRN - Nucleo de Atendimento e Resposta a Incidentes de Seguranca
Linux Registered User #229979 - GnuPG KeyID: 0x46EE1E86
------------------------------------------------------------------------